[
  {
    "path": ".editorconfig",
    "content": "# 🎨 http://editorconfig.org\nroot = true\n\n[*]\nindent_style = space\nindent_size = 2\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false"
  },
  {
    "path": ".gitignore",
    "content": "dist/\ndeploy_versions/\n.temp/\n.rn_temp/\nnode_modules/\n.DS_Store\n.swc\n"
  },
  {
    "path": ".prettierignore",
    "content": "node_modules\ndist\ntests\n*.d.ts\n*.js\n*.md\n*.yaml\n.vscode\n"
  },
  {
    "path": ".prettierrc",
    "content": "{\n  \"printWidth\": 80,\n  \"singleQuote\": true,\n  \"trailingComma\": \"all\",\n  \"proseWrap\": \"never\",\n  \"overrides\": [{ \"files\": \".prettierrc\", \"options\": { \"parser\": \"json\" } }],\n  \"plugins\": [\n    \"./node_modules/prettier-plugin-packagejson\",\n    \"./node_modules/prettier-plugin-organize-imports\"\n  ]\n}\n"
  },
  {
    "path": "README.md",
    "content": "# GitHub Pro\n\n<img src=\"docs/logo.png\" width=\"100\"><br/>\n\n> 一个简洁、强大的 GitHub 小程序客户端\n\n\n基于 Taro3 / Taro-ui / React-query / React18 / **TypeScript**。\n\n\n## 想法\n\n探究 Taro 使用 TypeScript 的坑，以及 Taro Hooks 的能力（所有页面、组件均用 Hooks） -- 结论： 真香~😋\n\n## 扫码体验\n\n![](docs/qrcode.jpg)\n\n(或者微信搜索小程序：GitHub Pro)\n\n## Preview\n\n![](docs/github-pro.gif)\n\n## Screenshots\n\n|  |  |  |\n| :---: | :---: | :---: |\n|![](docs/Jietu20230218-171612.png)|![](docs/Jietu20230218-171628.png)|![](docs/Jietu20230218-171643.png)|\n|![](docs/Jietu20230218-171702.png)|![](docs/Jietu20230218-171941.png)|![](docs/Jietu20230218-171643.png)|\n\n\n\n\n## 协议\n\nCopyright © 2023 zenghongtu\n"
  },
  {
    "path": "babel.config.js",
    "content": "// babel-preset-taro 更多选项和默认值：\n// https://github.com/NervJS/taro/blob/next/packages/babel-preset-taro/README.md\nmodule.exports = {\n  presets: [\n    ['taro', {\n      framework: 'react',\n      ts: true\n    }]\n  ],\n  plugins: [\n    [\n      'import',\n      {\n        libraryName: 'taro-ui',\n        customName: name => {\n          if(name === 'at-list-item'){\n            name = 'at-list/item'\n          } else if(name === 'at-action-sheet-item'){\n            name = 'at-action-sheet/body/item'\n          }\n          return `taro-ui/lib/components/${name.slice(3)}`\n        },\n        customStyleName: name => {\n          /**\n           * 修复style\n          */\n          if(name === 'at-tabs-pane'){\n            name = 'at-tabs'\n          }\n          else if(name === 'at-list-item'){\n            name = 'at-list'\n          }\n          else if(name === 'at-action-sheet-item'){\n            name = 'at-action-sheet'\n          }\n          return `taro-ui/dist/style/components/${name.slice(3)}.scss`\n        }\n      },\n      'taro-ui'\n    ]\n  ]\n}\n"
  },
  {
    "path": "config/dev.js",
    "content": "module.exports = {\n  env: {\n    NODE_ENV: '\"development\"'\n  },\n  defineConstants: {\n  },\n  mini: {},\n  h5: {}\n}\n"
  },
  {
    "path": "config/index.js",
    "content": "const path = require('path');\n\nconst config = {\n  projectName: 'GitHub-Pro',\n  date: '2023-2-7',\n  designWidth: 750,\n  deviceRatio: {\n    640: 2.34 / 2,\n    750: 1,\n    828: 1.81 / 2\n  },\n  sourceRoot: 'src',\n  outputRoot: 'dist',\n  plugins: ['@tarojs/plugin-html'],\n  defineConstants: {},\n  alias: {\n    '@': path.resolve(__dirname, '..', 'src'),\n  },\n  copy: {\n    patterns: [\n      {\n        from: 'src/wemark',\n        to: 'dist/wemark'\n      }\n    ],\n    options: {\n    }\n  },\n  framework: 'react',\n  compiler: 'webpack5',\n  cache: {\n    enable: false, // Webpack 持久化缓存配置，建议开启。默认配置请参考：https://docs.taro.zone/docs/config-detail#cache\n  },\n\n  sass: {\n    resource: [path.resolve(__dirname, \"..\", \"src/style/variables.scss\")],\n    // data: `@import \"taro-ui/dist/style/variables/default.scss\";`,\n  },\n  weapp: {\n    compile: {\n      exclude: [\n        'src/wemark/remarkable.js',\n      ]\n    }\n  },\n  mini: {\n    miniCssExtractPluginOption: {\n      ignoreOrder: true,\n    },\n    postcss: {\n      pxtransform: {\n        enable: true,\n        config: {\n        },\n      },\n      url: {\n        enable: true,\n        config: {\n          limit: 1024, // 设定转换尺寸上限\n        },\n      },\n      cssModules: {\n        enable: true, // 默认为 false，如需使用 css modules 功能，则设为 true\n        config: {\n          namingPattern: 'module', // 转换模式，取值为 global/module\n          generateScopedName: '[hash:base64:6]',\n        },\n      },\n    },\n  },\n  h5: {\n    publicPath: '/',\n    staticDirectory: 'static',\n    // esnextModules: ['nutui-react'],\n    postcss: {\n      pxtransform: {\n        enable: true,\n        config: {\n        },\n      },\n      autoprefixer: {\n        enable: true,\n        config: {},\n      },\n      cssModules: {\n        enable: true, // 默认为 false，如需使用 css modules 功能，则设为 true\n        config: {\n          namingPattern: 'module', // 转换模式，取值为 global/module\n          generateScopedName: '[name]__[local]___[hash:base64:5]',\n        },\n      },\n    },\n  },\n};\n\nmodule.exports = function (merge) {\n  if (process.env.NODE_ENV === 'development') {\n    return merge({}, config, require('./dev'));\n  }\n  return merge({}, config, require('./prod'));\n};\n"
  },
  {
    "path": "config/prod.js",
    "content": "module.exports = {\n  env: {\n    NODE_ENV: '\"production\"'\n  },\n  defineConstants: {\n  },\n  mini: {},\n  h5: {\n    /**\n     * WebpackChain 插件配置\n     * @docs https://github.com/neutrinojs/webpack-chain\n     */\n    // webpackChain (chain) {\n    //   /**\n    //    * 如果 h5 端编译后体积过大，可以使用 webpack-bundle-analyzer 插件对打包体积进行分析。\n    //    * @docs https://github.com/webpack-contrib/webpack-bundle-analyzer\n    //    */\n    //   chain.plugin('analyzer')\n    //     .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, [])\n\n    //   /**\n    //    * 如果 h5 端首屏加载时间过长，可以使用 prerender-spa-plugin 插件预加载首页。\n    //    * @docs https://github.com/chrisvfritz/prerender-spa-plugin\n    //    */\n    //   const path = require('path')\n    //   const Prerender = require('prerender-spa-plugin')\n    //   const staticDir = path.join(__dirname, '..', 'dist')\n    //   chain\n    //     .plugin('prerender')\n    //     .use(new Prerender({\n    //       staticDir,\n    //       routes: [ '/pages/index/index' ],\n    //       postProcess: (context) => ({ ...context, outputPath: path.join(staticDir, 'index.html') })\n    //     }))\n    // }\n  }\n}\n"
  },
  {
    "path": "openapi-codegen.config.ts",
    "content": "import { defineConfig } from '@openapi-codegen/cli';\nimport {\n  generateReactQueryComponents,\n  generateSchemaTypes,\n} from '@openapi-codegen/typescript';\nexport default defineConfig({\n  github: {\n    from: {\n      source: 'url',\n      url: 'https://api.apis.guru/v2/specs/github.com/1.1.4/openapi.yaml',\n    },\n    outputDir: './src/github',\n    to: async (context) => {\n      const filenamePrefix = 'github';\n      const { schemasFiles } = await generateSchemaTypes(context, {\n        filenamePrefix,\n      });\n      await generateReactQueryComponents(context, {\n        filenamePrefix,\n        schemasFiles,\n      });\n    },\n  },\n});\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"GitHub-Pro\",\n  \"version\": \"1.0.0\",\n  \"private\": true,\n  \"description\": \"\",\n  \"license\": \"MIT\",\n  \"author\": \"jasonzeng <zenghongtu@gmail.com>\",\n  \"scripts\": {\n    \"build:alipay\": \"taro build --type alipay\",\n    \"build:h5\": \"taro build --type h5\",\n    \"build:jd\": \"taro build --type jd\",\n    \"build:qq\": \"taro build --type qq\",\n    \"build:quickapp\": \"taro build --type quickapp\",\n    \"build:rn\": \"taro build --type rn\",\n    \"build:swan\": \"taro build --type swan\",\n    \"build:tt\": \"taro build --type tt\",\n    \"build:weapp\": \"taro build --type weapp\",\n    \"dev:alipay\": \"npm run build:alipay -- --watch\",\n    \"dev:h5\": \"npm run build:h5 -- --watch\",\n    \"dev:jd\": \"npm run build:jd -- --watch\",\n    \"dev:qq\": \"npm run build:qq -- --watch\",\n    \"dev:quickapp\": \"npm run build:quickapp -- --watch\",\n    \"dev:rn\": \"npm run build:rn -- --watch\",\n    \"dev:swan\": \"npm run build:swan -- --watch\",\n    \"dev:tt\": \"npm run build:tt -- --watch\",\n    \"dev:weapp\": \"npm run build:weapp -- --watch\",\n    \"format\": \"prettier --write \\\"src/**/*.{ts,tsx}\\\"\",\n    \"gen:github\": \"openapi-codegen gen github\"\n  },\n  \"browserslist\": [\n    \"last 3 versions\",\n    \"Android >= 4.1\",\n    \"ios >= 8\"\n  ],\n  \"dependencies\": {\n    \"@babel/runtime\": \"^7.7.7\",\n    \"@tanstack/react-query\": \"^4.24.4\",\n    \"@tarojs/components\": \"3.6.0\",\n    \"@tarojs/helper\": \"3.6.0\",\n    \"@tarojs/plugin-framework-react\": \"3.6.0\",\n    \"@tarojs/plugin-html\": \"3.6.0\",\n    \"@tarojs/plugin-platform-alipay\": \"3.6.0\",\n    \"@tarojs/plugin-platform-jd\": \"3.6.0\",\n    \"@tarojs/plugin-platform-qq\": \"3.6.0\",\n    \"@tarojs/plugin-platform-swan\": \"3.6.0\",\n    \"@tarojs/plugin-platform-tt\": \"3.6.0\",\n    \"@tarojs/plugin-platform-weapp\": \"3.6.0\",\n    \"@tarojs/react\": \"3.6.0\",\n    \"@tarojs/router\": \"3.6.0\",\n    \"@tarojs/runtime\": \"3.6.0\",\n    \"@tarojs/shared\": \"3.6.0\",\n    \"@tarojs/taro\": \"3.6.0\",\n    \"@tarojs/taro-h5\": \"3.6.0\",\n    \"classnames\": \"^2.3.2\",\n    \"lodash\": \"4.17.15\",\n    \"react\": \"^18.0.0\",\n    \"react-dom\": \"^18.0.0\",\n    \"react-redux\": \"^8.0.5\",\n    \"react-refresh\": \"^0.11.0\",\n    \"redux\": \"^4.2.1\",\n    \"redux-logger\": \"^3.0.6\",\n    \"redux-thunk\": \"^2.4.2\",\n    \"taro-ui\": \"3.1.0-beta.4\",\n    \"zustand\": \"^4.3.3\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.8.0\",\n    \"@openapi-codegen/cli\": \"^2.0.0\",\n    \"@openapi-codegen/typescript\": \"^6.1.0\",\n    \"@pmmmwh/react-refresh-webpack-plugin\": \"^0.5.5\",\n    \"@tarojs/cli\": \"3.6.0\",\n    \"@tarojs/webpack5-runner\": \"3.6.0\",\n    \"@types/react\": \"^18.0.0\",\n    \"@types/react-dom\": \"^18.0.0\",\n    \"@types/react-router-dom\": \"^5.1.7\",\n    \"@types/react-syntax-highlighter\": \"^13.5.2\",\n    \"@types/react-test-renderer\": \"^18.0.0\",\n    \"@types/react-transition-group\": \"^4.4.4\",\n    \"@types/webpack-env\": \"^1.13.6\",\n    \"@typescript-eslint/eslint-plugin\": \"^5.20.0\",\n    \"@typescript-eslint/parser\": \"^5.20.0\",\n    \"babel-plugin-import\": \"^1.13.3\",\n    \"babel-preset-taro\": \"3.6.0\",\n    \"eslint\": \"^8.12.0\",\n    \"eslint-config-taro\": \"3.6.0\",\n    \"eslint-plugin-import\": \"^2.12.0\",\n    \"eslint-plugin-react\": \"^7.8.2\",\n    \"eslint-plugin-react-hooks\": \"^4.2.0\",\n    \"prettier\": \"^2.3.2\",\n    \"prettier-plugin-organize-imports\": \"^3.2.0\",\n    \"prettier-plugin-packagejson\": \"^2.3.0\",\n    \"style-loader\": \"1.3.0\",\n    \"stylelint\": \"^14.4.0\",\n    \"typescript\": \"^4.1.0\",\n    \"webpack\": \"5.69.0\"\n  }\n}\n"
  },
  {
    "path": "project.config.json",
    "content": "{\n  \"miniprogramRoot\": \"dist/\",\n  \"projectname\": \"GitHub-Pro\",\n  \"description\": \"\",\n  \"appid\": \"wx96c15ae0f6f25368\",\n  \"setting\": {\n    \"urlCheck\": true,\n    \"es6\": false,\n    \"enhance\": false,\n    \"compileHotReLoad\": false,\n    \"postcss\": false,\n    \"minified\": false,\n    \"babelSetting\": {\n      \"ignore\": [],\n      \"disablePlugins\": [],\n      \"outputPath\": \"\"\n    }\n  },\n  \"compileType\": \"miniprogram\",\n  \"libVersion\": \"2.30.0\",\n  \"srcMiniprogramRoot\": \"dist/\",\n  \"packOptions\": {\n    \"ignore\": [],\n    \"include\": []\n  },\n  \"condition\": {},\n  \"editorSetting\": {\n    \"tabIndent\": \"insertSpaces\",\n    \"tabSize\": 2\n  }\n}"
  },
  {
    "path": "project.private.config.json",
    "content": "{\n  \"description\": \"项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档：https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html\",\n  \"projectname\": \"GitHub-Pro\",\n  \"setting\": {\n    \"compileHotReLoad\": true\n  }\n}"
  },
  {
    "path": "project.tt.json",
    "content": "{\n  \"miniprogramRoot\": \"./\",\n  \"projectname\": \"GitHub-Pro\",\n  \"description\": \"\",\n  \"appid\": \"touristappid\",\n  \"setting\": {\n    \"urlCheck\": true,\n    \"es6\": false,\n    \"postcss\": false,\n    \"minified\": false\n  },\n  \"compileType\": \"miniprogram\"\n}\n"
  },
  {
    "path": "src/app.config.ts",
    "content": "export default defineAppConfig({\n  pages: [\n    'pages/trending/index',\n    'pages/news/index',\n    'pages/activity/repo',\n    'pages/activity/index',\n    'pages/developer/index',\n    'pages/profile/index',\n    'pages/profile/issues',\n    'pages/search/index',\n    'pages/login/index',\n    'pages/repos/index',\n    'pages/my-languages/index',\n    'pages/repos/contributors/index',\n    'pages/repos/forks/index',\n    'pages/repos/stars/index',\n    'pages/repos/watchs/index',\n    'pages/commits/index',\n    'pages/repos/content/index',\n    'pages/issues/index',\n    'pages/issues/create-comment/index',\n    'pages/issues/create-issue/index',\n    'pages/issues/issue-detail/index',\n    'pages/developer/followers/index',\n    'pages/developer/following/index',\n    'pages/developer/repos/index',\n    'pages/developer/starred/index',\n    'pages/repos/files/index',\n    'pages/starred/index',\n  ],\n  window: {\n    navigationStyle: 'default',\n    backgroundColor: '#f3f3f3',\n    backgroundTextStyle: 'dark',\n    navigationBarTitleText: 'GitHub Pro',\n    navigationBarBackgroundColor: '#fafafa',\n    navigationBarTextStyle: 'black',\n    backgroundColorTop: '#fafafa',\n    backgroundColorBottom: '#fafafa',\n    enablePullDownRefresh: true,\n  },\n  tabBar: {\n    backgroundColor: '#fafafa',\n    position: 'bottom',\n    borderStyle: 'white',\n    color: '#8499a5',\n    selectedColor: '#007afb',\n    list: [\n      {\n        pagePath: 'pages/trending/index',\n        iconPath: './assets/icons/trending.png',\n        selectedIconPath: './assets/icons/trending_active.png',\n        text: 'Trending',\n      },\n      {\n        pagePath: 'pages/news/index',\n        iconPath: './assets/icons/news.png',\n        selectedIconPath: './assets/icons/news_active.png',\n        text: 'News',\n      },\n      {\n        pagePath: 'pages/search/index',\n        iconPath: './assets/icons/search.png',\n        selectedIconPath: './assets/icons/search_active.png',\n        text: 'Search',\n      },\n      {\n        pagePath: 'pages/starred/index',\n        iconPath: './assets/icons/star.png',\n        selectedIconPath: './assets/icons/star_active.png',\n        text: 'Starred',\n      },\n      {\n        pagePath: 'pages/profile/index',\n        iconPath: './assets/icons/github.png',\n        selectedIconPath: './assets/icons/github_active.png',\n        text: 'Profile',\n      },\n    ],\n  },\n  usingComponents: {\n    wemark: './wemark/wemark',\n  },\n});\n"
  },
  {
    "path": "src/app.scss",
    "content": "page {\n  background: $bg;\n}\n"
  },
  {
    "path": "src/app.tsx",
    "content": "import '@/assets/iconfont/icon.css';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport Taro from '@tarojs/taro';\nimport { Component } from 'react';\nimport { Provider } from 'react-redux';\nimport './app.scss';\nimport configStore from './store';\n\nconst store = configStore();\n\nconst queryClient = new QueryClient({\n  defaultOptions: {\n    queries: {\n      refetchOnWindowFocus: false,\n      retry: 1,\n      retryDelay: (attempt) => attempt * 2000,\n      // staleTime: 10,\n    },\n  },\n});\n\nclass App extends Component<any> {\n  componentWillMount() {\n    // TODO by path\n    // const { path, query, scene } = this.$router.params\n  }\n\n  componentDidMount() {\n    this.updateApp();\n    // Taro.getClipboardData({\n    //   success(res) {\n    //     const data = res.data as string;\n    //     if (data && data.startsWith(githubHttpsUrl)) {\n    //       const [owner, repo, filePath] = parseGitHub(data);\n    //       const url = getNavPath({ owner, filePath, repo });\n    //       if (url) {\n    //         Taro.navigateTo({ url });\n    //       }\n    //     }\n    //   },\n    // });\n\n    // no use\n    // if (process.env.TARO_ENV === 'weapp') {\n    //   const env = process.env.ClOUD_ENV\n    //   Taro.cloud.init({ env, traceUser: true })\n    // }\n  }\n\n  componentDidShow() {}\n\n  componentDidHide() {}\n\n  componentDidCatchError() {}\n\n  updateApp() {\n    if (Taro.canIUse('getUpdateManager')) {\n      const updateManager = Taro.getUpdateManager();\n      updateManager.onCheckForUpdate(function (res) {\n        // 请求完新版本信息的回调\n        console.log('hasUpdate: ', res.hasUpdate);\n      });\n      updateManager.onUpdateReady(function () {\n        Taro.showModal({\n          title: '更新提示',\n          content: '新版本已经准备好，是否重启应用？',\n          success: function (res) {\n            if (res.confirm) {\n              // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启\n              updateManager.applyUpdate();\n            }\n          },\n        });\n      });\n      updateManager.onUpdateFailed(function () {\n        // 新的版本下载失败\n        Taro.showModal({\n          title: '已经有新版本了哟~',\n          content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~',\n        });\n      });\n    }\n  }\n\n  // 在 App 类中的 render() 函数没有实际作用\n  // 请勿修改此函数\n  render() {\n    return (\n      <Provider store={store}>\n        <QueryClientProvider client={queryClient}>\n          {this.props.children}\n        </QueryClientProvider>\n      </Provider>\n    );\n  }\n}\n\nexport default App;\n"
  },
  {
    "path": "src/assets/iconfont/icon.css",
    "content": "@font-face {\n  font-family: 'iconfont';\n  src: url('iconfont.eot?t=1568428655639'); /* IE9 */\n  src: url('iconfont.eot?t=1568428655639#iefix') format('embedded-opentype'),\n    /* IE6-IE8 */\n      url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAABVIAAsAAAAAJowAABT3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCIaAq2XKsZATYCJAOBGAtOAAQgBYRtB4MbG7IfM6PmdBVAFGVJU2T/lwNOZAh1gdX7CUOpEjUxxouv3XevvVhW22qVJzGwxeOEAWaYfk6OlOETx8qpCkQQSr7hv+3wtR3K+XkoJTz8z/neB03T9BOgGyEqwm4OgY5nkC8ZuX01SAIEyAy1mc1EdpsZWAVirUdqJgNU1POBL3wJll1P/M4rKsjw/Db/z6UFxesVMQqwMQrszSuC4PQ9i3uNTRvQWXF97v8Hq3atS145uSxbVi9dqYsoloEvU+1Tr9VhYVica9ut98tedxk/sBIs8UGk9ACAwP8+nzPPDgU7WYKAolroMxjYxO7vEXRqLNZov5MEIDib/znTJjdGiRmhcPf6/Dn5f/mHCpjmiItpjwYEaixPbhPq//bo3yjNiNIRC31TZkbMqFk3IfVAWlstCyGdIDw/w8BmiUZDiOqyYRPUNwGoerLHfNhv/u/gsjEKFZHLMJq9v737QwAOOaqITl16DcJGc+UFusyaPnU8diCATpkhsGWLcUuN2FQAW67eMNhIf734wQ0BSUBxHbLflM6TaGdivKHK8AijmskuTwHWtwIFVAENch+zQexIOaiKCg7rT5wWM4BOtCOANjEm0YQaqUkznU0fM9rMNvv+wnwyLeJumDvJneyus9EOex1wzCnnXHDXJ8/xkj1XT+AV+j4klPfb4l0H93pxgk638rpY0uu/44EkW64cWYpZCAJoHPIVyRMiTBTRxBBLnHgJEiWxKZAsRao06TIoCmUKgrBA5ygA8dhKFMPEPGZAgkkE2TCVIBemGeTAtAdZMJ2Pk30QFhyNEHA2IgD3ITR8gXDgJ0Q+/I0ogi0AeXDTQQjcKhAGdxSIAncyiAZ3HYgBd2PEwh2IOLgLEQ93IxLgHkQi3ItIggcQNjyGKICnEMnwHCIFXkCkwruINPgJIB2eAzLgJQMFXioohJcHMuEN/RAEoOT10wtYBfZScP643qKOhry9bQQKbXC2Jks+lmVtPZkeQZBnyOkMx6UEJuAEnAhltqIilrZtXbiEECfWuJrNkUhHEPloajo9K2IoQQ3tcKGFmpraQp0JaiQM6fbIjTAlgiOJSCQWmZ8h4xTV1IxQYkaMpIU6qM7mthD5kNs2KiqO9ZcSjQeHtJv1T+jlzIHRDk5stJ99ZFgscMrdn87ZCyMXR4sMf9VDJ9blikaFOIh6/DFGkdGc8Xoj54l/biFWcFC7yXyLXe6kmoujDbNsc5RyIGEPJP0WusGsvrHmA6T9LllYvTjhb/96HMz+xJ4EsJ6mcaAtfKGtqT2MRARwNw7gIIaIxyBApiIeQSxCFMCQOE9+hrozPDTUfWpW6/0zI4I9p2dTZ9x/Dh1oCdMiVTwUC8n6eK2VoWTQPpKhvG8mhLmEYCfExKuVIeWMkLmnzEypiykh9WXGeDNGYl3SsDhmxUm8Nk4mpwtLaT59V52TLaxk+Wzj+YQkXkiKyV6ZACk209+tLxaL7mOAllqfKqZmEV6/K5nhHoEDmYyqXE/M8FidUITkzKRCMunhs3XBumwlWwxSCySU0umsh5OmuvfH/8rgYcWRXNWXPVBVfsm/1Z9STqijjx/TtHVYxhHcRzXTjfMmQrdamntH59B3zw272toskxylDYJFsFKXG7hdrUnVw8grwxUFpO/COt5d6U++W6lDKJvVGiBSzbXcOTQ00H14FlZXyTpCZRIGMzGtRuMBczCFFB4RdEWzWD6vRkV8f6gzRviiVpVqakOui/bmOQR7RmZTd84WyJxD4KnQ90dz0EYOy4aaZ4GmKTokuq+S3QbDaMerKIkhGqMoSOcfkjSG0ldCiEV8ECeWNldOHTxcfhALSf3soVL2iFGAYbv2cPDQsYPBI2cIv0MQd4nCVp7caCkO9g3WlMecDNvkTipIn4huAzBEBxDAO8QnZcAw1Plc8MKLjjiqOAgsg+kMjw7TQKoN1SdqERcTWiBI6i+plYJsl5WieeMNXhSg17WpdwQGsecCKT+Tn6tPpSfHmbMQwBVpSFm2E0q6paDfndW30CEjeP/imAFvdcQfuPMutOp9/XoSfgv8myCeFahTnu1TcnfNsn887XtyQo4o8p53wJt95PmLNUNof0GUv3YYZPCCAAkP725nFInsU4305IzVrdt1NzPgU2Cu60B9q+/7yu/bfDHTGc+Ee68S9/0j6yb5+V5ToXxcu6JyOqd7BHnwNOYfN151hrkZmcMxQC9zz7zZoPR13FM32zk0WDBHjYJd5jxxuXeC+wTeCOPtvDymVdfH79lux7TYWjd4jVorLrR5CxCG7EbKLez1xhf83FyFMD/BswW7x7MQran/OLs0hXslTjuU+E0fetqnLr/Lv/iieMqyP8Mh1RcNT9DLRZPp+ofxH09euRrLO1uLK6LsuT+i5E5yt/lnOu+L/7pMnPaOJ2gO/0jLgH/GkCkUdIZA265+OQyRZ5GMG0PUPIdtBillEGiDaYz1b4ZBJBzddoKHKNfGCLSrfTS+tyXcerE26mwSITYDEuXH1a2gRadGA1C16i8Z+tXPfWii5XKTC5VRdTs1q1SKiny+Uilwu8V6JNU5QbCVGCFatdnIRypJkbfSPNFMlp/i+RgiGjYniErdngPuPZu9WGxd3jKL3PpPqFIakIYV0c9VhLe458zVDimczkVQa0C6+sFUI0DkZ/5VtVYr24XohqgvXUqIG/qqd7gL4QL1TlFw8OIaesJXaYgyPTw9r1hNgRZI45hAKcZBwKl+AXkzoji/nqjoenSPYcxndmo5OHp59Iy0/d5om8OwoT56fG/4mKnKPBE6ofr+Bb/W2JjATeX7AYt21S8aYPHZ7IDa6oRA8oALba9Xh7WeJdczHkWRVaC88/fn+GIUZ6HmXLD/4vQyQx45C584k4xWjsRu+hrOcGuoVBYfbw746Vu5HHsqLTz65PiHaA2ZO05dOt9YQLAywFGU1KpsPh+VUnXP0IAm0N5yqi4fksTP604er12h27Ty9+bwUr2NsM9Z+c5qUlXG1+UJYsMfx66435A5boRc8iN5P1MgGpy/x5lf71aiSbW7UfGxOq4mjSVVZz638k61m82zP1sg/m79m7EdIvcmKv7IX978R95q9IaEB463CfvdRbv0p+x57o8Z9EiXM3Hn7r+8OjI4mvzYn4Pvnp/38Kd7vhmVjyT279SK3xA4cKhYLDx++zS+b49RieKSSfqWUIj5ILVi6BEuuOXS5qAVdn19REv3nO0NJROl68le6lxsvGZFEpqhmioYTY0Y2eK4zkmeJ5bQokGysUbc8+vmer8N8lagoOjmz6+jCACUSUCONjU3CjduFv+8h61ubU4LCJpthPh3LLPd99x7P2tu9JIRcipEQPA+xtwuxtsBdyPX9ZZDUJqgucM+b0YmJa+pIQ8iIIJWTm8oYBsysGONBgtqGEoFALWWoSGD10sggN42Qy22VANqsLCiehtKNBRgUF+qfk0E5BiIcqQCqmMUSVmzORjo2R+NVe5sf/dEB1GyGLf6uA3c/lvWW/3cT459tzqjM64JgT1eK+Hf8Sq3dVeF8hEzOU4uOnzZVdWukWna3VSXN89hxpPkqFB+da3KLR6X4VzMlYFGS+doP4yTCw//47aZ8M/h2Htr82rGOpWr2UpfyJmf9GRDz99fvz+/Dl33unF67b7H63fIgqt+3fJ434LTVvthy/NnV37akObiHxxY0fU9lyf+Za/djRsL9z52kVUG5eHhHu1be+Ym2/jt2eV5i2UuAYZ+lUbTe699f119UFTMrAYxI+3798e4Zxhj2aDxEKDEDPdiMGtW+X0LEBjDb8IoABJAGFAmbrAYcGaqjYh2Oms56+QQTM0EXCcvJ+5L3Txk8NmQ42A1nHXyBMCpDmeY6vYhlIhollHoaHRX4t3M7QA3OgihG0jeUPqibOop1VanY5M8kq2DCeQpkkyfcegpRMDnWNWTS+tKcWQY1nbV4U7aNs1/mWkwNyz+rNxH7i0XiEhwy2F8psk2UUD0jtyGTLood1auiD6LvoGeFBpAp6Aw7X80+GQI+7rLKTuYfcrlOqfkgY5n5XVpB6OPPYgTPFsSUV4ub6UyKK3q7evsbZeat9ko6X8VCP2r9qdnGCQu/egpbZsinDSYDhxGd+tNTGYOsXvUAdDHfg6ZYQqp0is2818rqGx785q+u3uuEVvN3QzoxQAmIFA2B42mfCfNL8YC2xhwjCQx3BBbB8bEeGPcDFBpdOdAuc1GDkenMeDwx0CIJceaGpvVJnAemQ2fJ8GYaTWmx/U2UhzK2ZnET9rpuiOZn7wDDPEE2Yk3ruPXb2ykdWaU4qXxmFFjbNwNQx8VZCVaX+OvrUQ6MkOJK8XYNHe61WwNFQh4tFJ2EX0s8GTsZYHah5Iw4cb8jTLpbu9f7axJWRTfgoLbr9LrS/lCVm5o4qvbRp+n05aFLVGksiu+JWdTfQrU48d7yuMkinypPzqEWCO6neci+/28UbFN+jnqJ0tynMOjMeJZei5bEicX8pu4KT1jKIraHE4RqVfvgtW13BjBwDJPnlScBJDLC9NHTc7+Fh+vXZz8NIJpTcyiOKoLbt9OryPlq7UyI57+i8Vr43V2aoODErJuJPDLs7zk8oyW8xNGQxba6qlFXZx8cd3G6uXEhpw2xsbphAVS0f3yD511NDzmQYD9U3V+KBdBpYubHFEWbdrC2hz2iiB60J1hkzQ7yYIJJ82dUYKgTKCD8kU+mjk6IvKojtWiBMWBf/t1x8+0kxGvNvQMOACHgXmLXxHT9Jnx3X5/B4LiFqWOdTSS0M159rejATdwZ/7AmV9H07Mc0abFUCkQUEN30V6+1LsEGj5d3r/ZOqtn9SU05wTUzGvd/DOnSDs/L+CL3+xHJ7e5GU/GrqBPojOKElaeVNDyJaueG/nbQtNXsjT2pSnt7GVdbLx6HiOeqgiY6Z0ToJnPKQRPxHOv/EHfGu5zRJFLYNhL8fTtVt+OcCy+aEP8UeE+ir8rESIbp+oCtfStF//gxZ8O0WU8UoQoQvMUC5YTLdM6AyRYHbuGCtXXd2QhycvKE/6Rijc45R6W1oDMHyVFYEyPYzj+wAKb/iA0twueuBXfSvCcoQLyZwwqoYoKiG7lCeHyYJ6dAKjEcIRAHvox/mcG8yCTUVz86hWPCkBiN0Ii3c5gDQ2RUHcKacbNIdh5mIDMEODE8yJm5ks2GTCDmgQY0DtAunEDIPWJdf4jBw4eOnAgzH9yIrV3yNJLXYrFQn1jLUO9ufVQby+lgVJ/oHoAzIfqoQYs8PPI5qbMKe/d+7Bf+vb2ls9JyeYe6VulK4SPPgnsfHYy5mSBB3cULtStEgrTlxbv5JBL03/xmNe0ikiRHFhfN+AxQMAvnEKsmtcEhkOR19/irzpHsGztRiwEqCBxN7GPOClOaAbBNlyBhMCtgVN6/GTdpGMkxqr+EMSz63iEbDbPgZ58/vV9IQF0FQK24DwJ4hPEXmJ3IipgPYbNjnC+gnwdgT8Et4CQxDZwnGKGUBR+DxcVCmPMcZjDCIuyqfdUW52ZCgMRNJCgeN49uQp0M1/Ka/LyqnV27uUKYpRqeih9lqdkxEeyfaOndNRbAcbnP2FkS5woEPFrm0GX+x//H/4wX/sw/x/KNqk0NCU0rdJ5kup58LeJeV5AT0oLEoIqkKoJE6qcK4PjC2iQsrxiHV6pVNIZa3xF7ni+y1PcCkUIyGG8plnaxaGlpW4WmhSVS6GJUDfSwiUFm06jsvSNYCLNFERSgSpuRq1uplSJrg42RZWAjems2bR+8WqeaAP8CI7p0Y9Kq4JqVqHxc/Sc2+a30qD780R2MSUaoZScOHJkLgfenzF5enjmDtrz57QdICN8OrDFxGqamg4iZmetsxk52NRUpMFiYjQ7jldWDouGX/gEMKXZejD9AXKwi+5nx7TDA0SFFdMcl4ryYw76E6Bkhazh2pQZQKABz1PsVuzvQe7Rgs3F8TkGTD5tb+5mQmb7E1TCn7ijcvluJFelotNRLn37gFyapfqOfX+BvTh69Hku9CX9GjxXNNxt7KV1Hj+aRFlWO2sZ5bdM5SZhLXRAPdA3sGv/N1PFVecos2zJSR+G+6FD8vQV/ujRn0AfsGl+5ud7e6d0jsbH3RVYM25Yycsc9Me1Z3SCVn5rec+sHUOHlHE1Bdqw6qTPfjfFLz75JV1YbQFXk9Zb4pdz7C7L3MfuIdhq+1xhViQ/ON/DglgqGsyPnFT7XFAlttvRXt/q1Aln/eDwb3NzfwKumfx+/5WZMdPhTsdxltYKesEK3yf/Ja88yhv8iPpbRY6qRrEa1NldoNqHGODfSkPdEX+knUrjHW1U1UmrOjVHvrHif1UDPThjyzrYN0IoHTUEfccovhRhSSuJnbD/D2WJ9P/acBUOICulpJPdkiM6OiDNlaGeFxJUV8jdRBklvxOvS1Ia74ZM8M+ry2pQr8euwWWG/A8qkxfU/1UeS7r0s6kvNv66srGxKS02/p/UVR+OpLTBj2jQHKqNTELiZPuRZOc8RJ+cV1Ry/uvwsGm5uMRJHEWCY93s8hOpJsHXqkjJ3PZfcVKyx0mCZHMKmyJWj6niAoRp4ixs2nIOleajvD2WqM2SaARgvJkLToizlZNiPOSUOKdYPeY6F5DiOWeJi8o5hvSsM6ykuquvAjIMrj859iohwnZld/2F2BIVv5Mu+IdSudm9RUSFUz8hKDIodR/fzYILRSf3Y/FgSEldLrqFt81olj9fIrWsJ9h4nWZXOiqAGBg4VU6vTet4SoTzm6vIyP8CUZOQkrLH46b/QFHxjTvRIkRxsD8F4dqjLpu324vedRAlcI/tCzVxMogC6RZXTgu70BZ4ZqNWoC37FEmOpOUVNuqlaSxJoCfu5fpZM1EkWVE13TAt23F9fk4Qznhc8Lly486DJy/efHzXn0pIxI+/AIGCgnEjObVHTzyQtOSnOOiAsfHSqD8LmgaU648XFU1AtkxyXmHGEleBE86iSqx83nreCSDc9KS+ibWciXjZq+46zZCVlwafsXy6yqHteKKIM3c4Q7mKbF1fSPz4sMifW0pdwf+GavchYkHWLmjZYThb3sPY+nVM2mM5qq1Yggpb/5zAdptYdh2OMnUIpZXgUM8qqPhxVW3zK210nAWSXeM1JuJ0lqF5ac+wh1itbFZc4oRVEYYuknoyVrkgb7xnO81mAAAA')\n      format('woff2'),\n    url('iconfont.woff?t=1568428655639') format('woff'),\n    url('iconfont.ttf?t=1568428655639') format('truetype'),\n    /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */\n      url('iconfont.svg?t=1568428655639#iconfont') format('svg'); /* iOS 4.1- */\n}\n\n.icon {\n  font-family: 'iconfont' !important;\n  font-size: 16px;\n  font-style: normal;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n.icon-guanyu:before {\n  content: '\\e65d';\n}\n\n.icon-author:before {\n  content: '\\e60e';\n}\n\n.icon-tab:before {\n  content: '\\e815';\n}\n\n.icon-folder:before {\n  content: '\\e69c';\n}\n\n.icon-3801wenjian:before {\n  content: '\\e66d';\n}\n\n.icon-setting:before {\n  content: '\\e64e';\n}\n\n.icon-file:before {\n  content: '\\e857';\n}\n\n.icon-gongsi:before {\n  content: '\\e79e';\n}\n\n.icon-comment:before {\n  content: '\\e719';\n}\n\n.icon-baocuntupian:before {\n  content: '\\e6d1';\n}\n\n.icon-book-open:before {\n  content: '\\e72c';\n}\n\n.icon-code:before {\n  content: '\\e75c';\n}\n\n.icon-copy:before {\n  content: '\\e765';\n}\n\n.icon-file-image:before {\n  content: '\\e78c';\n}\n\n.icon-filter:before {\n  content: '\\e78f';\n}\n\n.icon-git-branch:before {\n  content: '\\e796';\n}\n\n.icon-git-pull-request:before {\n  content: '\\e798';\n}\n\n.icon-git-repo-forked:before {\n  content: '\\e799';\n}\n\n.icon-github:before {\n  content: '\\e79a';\n}\n\n.icon-globe:before {\n  content: '\\e79b';\n}\n\n.icon-hot:before {\n  content: '\\e7a8';\n}\n\n.icon-info:before {\n  content: '\\e7ac';\n}\n\n.icon-git-commit:before {\n  content: '\\e7ae';\n}\n\n.icon-link-external:before {\n  content: '\\e7bb';\n}\n\n.icon-news:before {\n  content: '\\e7db';\n}\n\n.icon-search:before {\n  content: '\\e80a';\n}\n\n.icon-star:before {\n  content: '\\e820';\n}\n\n.icon-book:before {\n  content: '\\e641';\n}\n\n.icon-fankui:before {\n  content: '\\e613';\n}\n\n.icon-email:before {\n  content: '\\e635';\n}\n\n.icon-people:before {\n  content: '\\e62b';\n}\n\n.icon-events:before {\n  content: '\\e6f5';\n}\n\n.icon-tag:before {\n  content: '\\e6db';\n}\n\n.icon-eye:before {\n  content: '\\e7a4';\n}\n\n.icon-link:before {\n  content: '\\e817';\n}\n\n.icon-location:before {\n  content: '\\e6f4';\n}\n\n.icon-activity:before {\n  content: '\\e645';\n}\n"
  },
  {
    "path": "src/components/activity-item/index.module.scss",
    "content": ".item-wrap {\n  padding: 20px;\n  margin-top: 20px;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n}\n\n.repo-name {\n  font-weight: 800;\n  color: $color-brand-light;\n}\n\n.event-wrap {\n  margin-left: 5px;\n  overflow: hidden;\n}\n\n.commit-sha {\n  color: $color-brand-dark;\n}\n\n.event-desc {\n  margin-top: 10px;\n  font-size: 25px;\n  font-weight: 400;\n}\n\n.event-action {\n  text-transform: capitalize;\n}\n\n.issue-number {\n  color: $color-brand-light;\n}\n"
  },
  {
    "path": "src/components/activity-item/index.tsx",
    "content": "import Author from '@/components/author';\nimport type * as Schemas from '@/src/githubSchemas';\nimport { Text, View } from '@tarojs/components';\nimport { ITouchEvent } from '@tarojs/components/types/common';\nimport Taro from '@tarojs/taro';\nimport { memo } from 'react';\nimport styles from './index.module.scss';\n\nconst spacesRegExp = new RegExp('[\\r\\n\\t]+', 'g');\nconst refsHeadsRegExp = new RegExp('refs/heads/');\n\nconst maxTextLength = 100;\n\nconst truncateText = (text = '') => {\n  let truncated = text.slice(0, maxTextLength);\n  if (text.length >= maxTextLength) {\n    truncated += '...';\n  }\n  return truncated;\n};\n\nexport type ActivityItemDataType = Schemas.Event;\n\ninterface ActivityItemProps {\n  item: ActivityItemDataType;\n}\n\nconst ActivityItem = ({ item }: ActivityItemProps) => {\n  if (!item) {\n    return null;\n  }\n\n  const {\n    actor: { avatar_url, display_login, login },\n    repo: { name },\n    created_at,\n  } = item;\n\n  const handleIssueNumberClick = (full_name, number) => (e: ITouchEvent) => {\n    e.stopPropagation();\n    const url = `/pages/issues/issue-detail/index?full_name=${full_name}&number=${number}`;\n\n    Taro.navigateTo({ url });\n  };\n\n  const renderEvent = () => {\n    const {\n      type,\n\n      repo: { name },\n      payload,\n    } = item;\n\n    switch (type) {\n      case 'PushEvent': {\n        const { ref, commits } = payload;\n        const _ref = ref!.replace(refsHeadsRegExp, '');\n        const len = commits!.length;\n\n        return (\n          <View>\n            <View>\n              Pushed to {_ref} at{' '}\n              <Text className={styles['repo-name']}>{name}</Text>\n            </View>\n            <View className={styles['event-desc']}>\n              {commits!.slice(0, 3).map((item) => {\n                const { message, sha } = item;\n                const commit = truncateText(message.replace(spacesRegExp, ''));\n                const _sha = sha.substr(0, 8);\n                return (\n                  <View key={sha} className={styles.commit}>\n                    <Text className={styles['commit-sha']}>{_sha} </Text>\n                    <Text className={styles['commit-content']}> {commit}</Text>\n                  </View>\n                );\n              })}\n              {len > 3 && (\n                <View className={styles.commit}>\n                  <Text className={styles['commit-content']}> ...</Text>\n                </View>\n              )}\n            </View>\n          </View>\n        );\n      }\n      case 'IssuesEvent': {\n        return (\n          <View>\n            <View>\n              <Text className={styles['event-action']}>{payload.action}</Text>{' '}\n              issue <Text className={styles['repo-name']}>{name}</Text>\n            </View>\n            <View className={styles['event-desc']}>{payload.issue!.title}</View>\n          </View>\n        );\n      }\n      case 'PullRequestEvent': {\n        const { pull_request, action } = payload;\n        const { title } = pull_request!;\n        return (\n          <View>\n            <View>\n              {action} pull request{' '}\n              <Text className={styles['repo-name']}>{name}</Text>\n            </View>\n            <View>{title}</View>\n          </View>\n        );\n      }\n      case 'IssueCommentEvent': {\n        const { comment, issue } = payload;\n        const { body } = comment!;\n        const detail = body.replace(spacesRegExp, ' ');\n        const text = truncateText(detail);\n        const number = issue!.number;\n        return (\n          <View>\n            <View>\n              Created comment on{' '}\n              <Text\n                className={styles['issue-number']}\n                onClick={handleIssueNumberClick(name, number)}\n              >\n                #{number}\n              </Text>{' '}\n              in\n              <Text className={styles['repo-name']}> {name}</Text>\n            </View>\n            <View className={styles['event-desc']}>{text}</View>\n          </View>\n        );\n      }\n      case 'WatchEvent': {\n        return (\n          <View>\n            <View>\n              Starred <Text className={styles['repo-name']}>{name}</Text>\n            </View>\n          </View>\n        );\n      }\n      case 'PublicEvent': {\n        return (\n          <View>\n            <View>\n              Open sourced <Text className={styles['repo-name']}>{name}</Text>\n            </View>\n          </View>\n        );\n      }\n      case 'ForkEvent': {\n        const { forkee } = payload;\n        return (\n          <View>\n            <View>\n              Forked {forkee?.full_name} from{' '}\n              <Text className={styles['repo-name']}>{name}</Text>\n            </View>\n          </View>\n        );\n      }\n      case 'CreateEvent': {\n        return (\n          <View>\n            <View>\n              Created {payload.ref_type} {payload.ref || ''} at\n              <Text className={styles['repo-name']}> {name}</Text>\n            </View>\n            <View className={styles['event-desc']}>\n              {payload.description || ''}\n            </View>\n          </View>\n        );\n      }\n      case 'DeleteEvent': {\n        return (\n          <View>\n            <View>\n              Deleted {payload.ref_type} {payload.ref} at\n              <Text className={styles['repo-name']}> {name}</Text>\n            </View>\n            <View>{payload.description}</View>\n          </View>\n        );\n      }\n      case 'MemberEvent': {\n        return (\n          <View>\n            <View>\n              {payload.action} permissions of {payload.member!.login} to\n              {payload.repository?.full_name}\n            </View>\n          </View>\n        );\n      }\n      case 'PullRequestReviewCommentEvent': {\n        const comment = payload.comment;\n        const body = comment!.body;\n        const detail = body.replace(spacesRegExp, ' ');\n        const text = truncateText(detail);\n        return (\n          <View>\n            <View>\n              Reviewed pull request in{' '}\n              <Text className={styles['repo-name']}>{name}</Text>\n            </View>\n            <View className={styles['event-desc']}>{text}</View>\n          </View>\n        );\n      }\n      case 'GollumEvent': {\n        const page = payload.pages![0];\n        const { action, page_name } = page;\n        return (\n          <View>\n            <View>\n              {action} {page_name}{' '}\n              <Text className={styles['repo-name']}>{name}</Text>\n            </View>\n          </View>\n        );\n      }\n      case 'ReleaseEvent': {\n        return (\n          <View>\n            <View>\n              Released {payload.release!.name || payload.release!.tag_name} at{' '}\n              <Text className={styles['repo-name']}>{name}</Text>\n            </View>\n          </View>\n        );\n      }\n      case 'CommitCommentEvent': {\n        const comment = payload.comment;\n\n        return (\n          <View>\n            <View>\n              Commented on commit{' '}\n              <Text className={styles['repo-name']}>{name}</Text> @{' '}\n              {comment!.commit_id.substring(0, 8)}\n            </View>\n          </View>\n        );\n      }\n    }\n    // const text = JSON.stringify(item);\n    // return (\n    //   <View>\n    //     <View className={styles['event-desc']}>{text}</View>\n    //   </View>\n    // );\n    return (\n      <View>\n        {payload?.action} at\n        <Text className={styles['repo-name']}>{name}</Text>\n      </View>\n    );\n  };\n\n  const handleCardClick = () => {\n    Taro.navigateTo({ url: `/pages/repos/index?full_name=${name}` });\n  };\n  return (\n    <View className={styles['item-wrap']} onClick={handleCardClick}>\n      <Author\n        login={login}\n        size=\"28\"\n        url={avatar_url}\n        created_at={created_at}\n      ></Author>\n\n      <View className={styles['event-wrap']}>{renderEvent()}</View>\n    </View>\n  );\n};\n\nconst areEqual = ({ item: prevItem }: any, { item }: any) => {\n  return prevItem && prevItem.repo.name === item.repo.name;\n};\n\nexport default memo(ActivityItem, areEqual);\n"
  },
  {
    "path": "src/components/author/index.module.scss",
    "content": ".author {\n  display: flex;\n  justify-items: center;\n  width: 100%;\n}\n\n.login {\n  font-size: 32px;\n  font-weight: 400;\n  color: #40a0fa;\n}\n.create-at {\n  margin-left: auto;\n  align-self: flex-start;\n  font-size: 25px;\n  color: rgb(151, 151, 151);\n}\n"
  },
  {
    "path": "src/components/author/index.tsx",
    "content": "import { getTimeAgo } from '@/utils/date';\nimport { Text, View } from '@tarojs/components';\nimport Taro from '@tarojs/taro';\nimport { memo } from 'react';\nimport Avatar from '../avatar';\nimport styles from './index.module.scss';\n\ninterface AuthorProps {\n  login: string;\n  url: string;\n  size?: number | string;\n  created_at?: string;\n}\nconst Author = ({ login, url, size, created_at = '' }: AuthorProps) => {\n  const handleLoginClick = () => {\n    const url = `/pages/developer/index?name=${login}`;\n    Taro.navigateTo({ url });\n  };\n\n  url = url.endsWith('?') ? `${url}s=96&v=4` : `${url}&s=96`;\n\n  return (\n    <View\n      className={styles.author}\n      style={\n        !!created_at ? undefined : { alignItems: 'center', paddingLeft: '20px' }\n      }\n    >\n      <Avatar size={size} username={login} url={url}></Avatar>\n      <Text className={styles.login} onClick={handleLoginClick}>\n        {login}\n      </Text>\n      {!!created_at && (\n        <Text className={styles['create-at']}>{getTimeAgo(created_at)}</Text>\n      )}\n    </View>\n  );\n};\n\nconst areEqual = ({ login: prevLogin }: any, { login }: any) => {\n  return prevLogin === login;\n};\n\nexport default memo(Author, areEqual);\n"
  },
  {
    "path": "src/components/avatar/index.module.scss",
    "content": ".avatar {\n  width: 80px;\n  height: 80px;\n  margin-right: 20px;\n  border-radius: 50%;\n}\n"
  },
  {
    "path": "src/components/avatar/index.tsx",
    "content": "import { Block, Image } from '@tarojs/components';\nimport Taro from '@tarojs/taro';\nimport classnames from 'classnames';\nimport { memo } from 'react';\nimport styles from './index.module.scss';\n\ninterface AvatarProps {\n  url: string;\n  className?: string;\n  username?: string;\n  circle?: boolean;\n  size?: string | number;\n}\nconst Avatar = ({\n  url,\n  className = '',\n  username = '',\n  circle = true,\n  size = 40,\n}: AvatarProps) => {\n  const width = size + 'px';\n  const styleProps: any = {\n    width,\n    height: width,\n  };\n\n  if (!circle) {\n    styleProps.borderRadius = +size / 4 + 'px';\n  }\n\n  const handleImgClick = () => {\n    if (!username) {\n      return;\n    }\n    const url = `/pages/developer/index?name=${username}`;\n    Taro.navigateTo({ url });\n  };\n\n  return (\n    <Block>\n      <Image\n        mode=\"widthFix\"\n        onClick={handleImgClick}\n        className={classnames(styles.avatar, className)}\n        style={styleProps}\n        src={url}\n      ></Image>\n    </Block>\n  );\n};\n\nconst areEqual = (prevProps: any, props: any) => {\n  return prevProps.url === props.url;\n};\n\nexport default memo(Avatar, areEqual);\n"
  },
  {
    "path": "src/components/empty/index.module.scss",
    "content": ".wrap {\n  height: 100vh;\n  width: 100vw;\n  display: flex;\n  justify-content: center;\n\n  background: $bg;\n}\n.inner {\n  margin: 40px auto;\n}\n\n.img {\n  width: 400px;\n  height: 400px;\n}\n\n.desc {\n  text-align: center;\n  font-size: 35px;\n  color: rgb(88, 88, 88);\n}\n\n.tips {\n  color: $primary;\n}\n"
  },
  {
    "path": "src/components/empty/index.tsx",
    "content": "import img from '@/assets/spidertocat.png';\nimport { Image, Text, View } from '@tarojs/components';\nimport { FC } from 'react';\nimport styles from './index.module.scss';\n\nconst Empty: FC = () => {\n  return (\n    <View className={styles.wrap}>\n      <View className={styles.inner}>\n        <Image src={img} className={styles.img}></Image>\n        <View className={styles.desc}>\n          <Text>没有数据~</Text>\n          <View>\n            <Text className={styles.tips}>试试下拉刷新</Text>\n          </View>\n        </View>\n        {/* <View>\n          <AtButton\n            size=\"small\"\n            type=\"primary\"\n            onClick={() => {\n              Taro.startPullDownRefresh();\n            }}\n          >\n            重试\n          </AtButton>\n        </View> */}\n      </View>\n    </View>\n  );\n};\n\nexport default Empty;\n"
  },
  {
    "path": "src/components/fab-button/index.module.scss",
    "content": ".fab-btn {\n  position: fixed;\n  bottom: 36px;\n  right: 26px;\n  z-index: 3;\n}\n"
  },
  {
    "path": "src/components/fab-button/index.tsx",
    "content": "import { View } from '@tarojs/components';\nimport { ITouchEvent } from '@tarojs/components/types/common';\nimport { ReactNode } from 'react';\nimport { AtFab, AtIcon } from 'taro-ui';\nimport styles from './index.module.scss';\n\ninterface FabButtonProps {\n  icon?: string;\n  prefixClass?: string;\n  children?: ReactNode;\n  size?: 'small' | 'normal';\n  onClick: (e: ITouchEvent) => void;\n}\n\nconst FabButton = ({\n  icon = 'filter',\n  prefixClass = '',\n  onClick,\n  children,\n  size = 'small',\n}: FabButtonProps) => {\n  const props: any = { value: icon };\n  if (prefixClass) {\n    props.prefixClass = prefixClass;\n  }\n  return (\n    <View className={styles['fab-btn']} onClick={onClick}>\n      <AtFab size={size}>{children || <AtIcon {...props}></AtIcon>}</AtFab>\n    </View>\n  );\n};\n\nexport default FabButton;\n"
  },
  {
    "path": "src/components/font-icon/index.module.scss",
    "content": ""
  },
  {
    "path": "src/components/font-icon/index.tsx",
    "content": "import { AtIcon } from 'taro-ui';\n\ninterface FontIconProps {\n  value: string;\n  size?: string | number;\n  styleProps?: React.CSSProperties;\n}\nconst FontIcon = ({ value, size = 16, styleProps = {} }: FontIconProps) => {\n  const fontSize = size + 'px';\n\n  const style: React.CSSProperties = {\n    lineHeight: '1em',\n    fontSize,\n    ...styleProps,\n  };\n  return (\n    <AtIcon prefixClass={'icon'} customStyle={style} value={value}></AtIcon>\n  );\n};\n\nexport default FontIcon;\n"
  },
  {
    "path": "src/components/list-item/index.module.scss",
    "content": ".item {\n  display: flex;\n  align-items: center;\n  padding: 15px 24px;\n  position: relative;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  color: $primary-text-color;\n  font-size: 29px;\n  font-weight: 500;\n  line-height: 1.5;\n  transition: background-color 0.3s;\n  position: relative;\n  border-bottom: 0px solid $bg;\n\n  &:active {\n    background-color: #f0f0f0;\n  }\n}\n\n.left {\n  display: flex;\n  align-items: center;\n}\n\n.right {\n  margin-left: auto;\n  @extend .left;\n}\n\n.extra-text {\n  font-size: 28px;\n  text-align: right;\n  font-weight: 400;\n  color: $text-color;\n}\n"
  },
  {
    "path": "src/components/list-item/index.tsx",
    "content": "import FontIcon from '@/components/font-icon';\nimport { Text, View } from '@tarojs/components';\nimport { ITouchEvent } from '@tarojs/components/types/common';\nimport classnames from 'classnames';\nimport { AtIcon } from 'taro-ui';\nimport styles from './index.module.scss';\n\ninterface ListItemProps {\n  onClick?: (ev: ITouchEvent) => void;\n  className?: string;\n  hasBorder?: boolean;\n  title?: string;\n  renderTitle?: () => JSX.Element;\n  onRightClick?: (ev: ITouchEvent) => void;\n  extraText?: string;\n  language?: string;\n  icon?: string;\n  rightIcon?: string;\n  color?: string;\n  renderExtraText?: () => JSX.Element;\n  arrow?: 'right' | 'left' | 'up' | 'down' | null;\n  size?: string | number;\n  style?: React.CSSProperties;\n}\n\nconst ListItem = ({\n  className,\n  title,\n  language,\n  extraText,\n  icon,\n  rightIcon,\n  renderTitle,\n  renderExtraText,\n  onClick = function () {},\n  onRightClick = function () {},\n  arrow = 'right',\n  hasBorder = true,\n  color = 'none',\n  size = 25,\n  style = {},\n}: ListItemProps) => {\n  const styleProps: any = {};\n\n  if (hasBorder) {\n    styleProps.borderBottomWidth = '1px';\n  }\n\n  const iconStyleProps: React.CSSProperties = {\n    fontSize: size + 'px',\n    padding: '1px',\n    marginRight: '10px',\n    borderRadius: '50%',\n    color: '#fff',\n    background: color,\n    ...style,\n  };\n\n  return (\n    <View\n      className={classnames(styles.item, className)}\n      onClick={onClick || undefined}\n      style={styleProps}\n    >\n      <View className={styles.left}>\n        {icon && <FontIcon styleProps={iconStyleProps} value={icon}></FontIcon>}\n        {title || (renderTitle && renderTitle())}\n      </View>\n      <View className={styles.right}>\n        {extraText && <Text className={styles['extra-text']}>{extraText}</Text>}\n        {rightIcon && (\n          <AtIcon\n            onClick={onRightClick || undefined}\n            size=\"20\"\n            customStyle={{ color: '#409bfc', fontWeight: 500 }}\n            value={rightIcon}\n          ></AtIcon>\n        )}\n        {arrow && (\n          <AtIcon\n            size=\"20\"\n            customStyle={{ color: '#ccc', fontWeight: 400 }}\n            value={`chevron-${arrow}`}\n          ></AtIcon>\n        )}\n      </View>\n    </View>\n  );\n};\n\nexport default ListItem;\n"
  },
  {
    "path": "src/components/load-more/index.module.scss",
    "content": ".wrap {\n  position: relative;\n}\n"
  },
  {
    "path": "src/components/load-more/index.tsx",
    "content": "import { View } from '@tarojs/components';\nimport { AtLoadMore } from 'taro-ui';\nimport 'taro-ui/dist/style/components/activity-indicator.scss';\nimport 'taro-ui/dist/style/components/loading.scss';\nimport styles from './index.module.scss';\n\nconst LoadMore = ({ hasMore }: { hasMore: boolean }) => {\n  const status = hasMore ? 'loading' : 'noMore';\n  return (\n    <View className={styles.wrap}>\n      <AtLoadMore\n        loadingText=\"努力加载中...\"\n        noMoreText=\"没有更多~\"\n        status={status}\n      />\n    </View>\n  );\n};\n\nexport default LoadMore;\n"
  },
  {
    "path": "src/components/markdown/index.module.scss",
    "content": ""
  },
  {
    "path": "src/components/markdown/index.tsx",
    "content": "import { copyText } from '@/utils/common';\nimport {\n  getNavPath,\n  githubHttpsUrl,\n  isGitHubPage,\n  mdLink,\n  parseGitHub,\n} from '@/utils/repo';\nimport { View } from '@tarojs/components';\nimport { ITouchEvent } from '@tarojs/components/types/common';\nimport Taro from '@tarojs/taro';\n\ninterface MarkDownProps {\n  md: string | undefined | null;\n  full_name?: string;\n}\n\nconst Markdown = ({ md: rawMD, full_name }: MarkDownProps) => {\n  if (!rawMD) {\n    return null;\n  }\n\n  const faceLink = (f: string) => {\n    return (\n      '![](https://www.webfx.com/tools/emoji-cheat-sheet/graphics/emojis/' +\n      f +\n      '.png)'\n    );\n  };\n\n  const getFixedMD = (rawMD = '') => {\n    let md = rawMD;\n\n    const d = {\n      '’': \"'\",\n      '<br>': '\\n\\n',\n      '<br/>': '\\n\\n',\n      '<br />': '\\n\\n',\n      '<em>': '',\n      '</em>': '',\n      '<strong>': '',\n      '</strong>': '',\n      '<li>': '* ',\n      '</li>': '\\n',\n      '<ul>': '\\n',\n      '</ul>': '\\n',\n      '<code>': '`',\n      '</code>': '`',\n      '&nbsp;': ' ',\n      '&quot;': '\"',\n      '&ldquo;': '\"',\n      '&rdquo;': '\"',\n      '&gt;': '>',\n      '&lt;': '<',\n    };\n    for (const k in d) {\n      const reg = new RegExp(k, 'g');\n      md = md.replace(reg, d[k]);\n    }\n\n    const faceRegExp = [/:([a-z_]{1,30}?):/g, /[+*-] (\\[[x ]\\])/g];\n    faceRegExp.map((f) => {\n      const tmpreg = md;\n      while ((match = f.exec(tmpreg))) {\n        if (match[1].startsWith('[')) {\n          match[0] = match[1];\n          if (match[1].indexOf('x') > 0) {\n            match[1] = 'white_check_mark';\n          } else {\n            match[1] = 'white_medium_square';\n          }\n        }\n        md = md.replace(match[0], faceLink(match[1]));\n      }\n    });\n\n    const linkRegExp =\n      /((^|[ \\n:\\uff1a\\uff0c]+)(https?:\\/\\/[/0-9a-zA-Z.&=#_?-]+)([ \\t\\r\\n]+|$))/g;\n    const matchCnt = 3;\n    let match: any;\n    const newHtml = md;\n    while ((match = linkRegExp.exec(newHtml))) {\n      if (match[1] && match[matchCnt]) {\n        const t = match[1];\n        const url = match[matchCnt];\n        const r = t.replace(url, mdLink(url, url));\n        md = md.replace(match[1], r);\n      }\n    }\n    return md;\n  };\n\n  const md = getFixedMD(rawMD);\n\n  const handleClick = (e: ITouchEvent) => {\n    let clickurl = e.detail.currentTarget.dataset.text;\n    console.log('clickurl: ', clickurl);\n\n    const isRelativeFile =\n      clickurl && (clickurl.startsWith('./') || !clickurl.startsWith('http'));\n    if (isRelativeFile) {\n      clickurl = `${githubHttpsUrl}/${full_name}/${clickurl}`;\n    }\n\n    const isGitHubUrl = isRelativeFile || isGitHubPage(clickurl);\n\n    // TODO 跳转其他小程序\n    if (isGitHubUrl) {\n      const [owner, repo, filePath] = parseGitHub(clickurl);\n      const path = getNavPath({ owner, repo, filePath });\n      console.log('path: ', path);\n\n      if (path) {\n        Taro.navigateTo({ url: path });\n      }\n      return;\n    } else {\n      copyText(clickurl);\n    }\n  };\n\n  const baseUrl = full_name\n    ? 'https://raw.githubusercontent.com/' + full_name + '/master/'\n    : '';\n\n  // TODO 修复 md 中含有 html 情况下的渲染\n  // TODO 修复表格显示问题\n  // TODO 添加 currentDir，获取正确的图片引入地址\n  return (\n    <View>\n      <wemark\n        onClick={handleClick}\n        md={md}\n        link\n        highlight\n        type=\"wemark\"\n        baseurl={baseUrl}\n      />\n    </View>\n  );\n};\n\nexport default Markdown;\n"
  },
  {
    "path": "src/components/no-authority/index.module.scss",
    "content": ".wrap {\n  display: flex;\n  height: 100vh;\n  width: 100vw;\n  justify-content: center;\n  text-align: center;\n  align-items: center;\n  // background: $itemBg;\n}\n.inner {\n  margin: auto;\n}\n\n.img {\n  width: 400px;\n  height: 400px;\n}\n\n.desc {\n  font-size: 35px;\n  color: rgb(88, 88, 88);\n}\n\n.login {\n  margin-top: 20px;\n}\n"
  },
  {
    "path": "src/components/no-authority/index.tsx",
    "content": "import img from '@/assets/stormtroopocat.png';\nimport { Image, View } from '@tarojs/components';\nimport Taro from '@tarojs/taro';\nimport { AtButton } from 'taro-ui';\nimport styles from './index.module.scss';\n\nconst NoAuthority = () => {\n  return (\n    <View className={styles.wrap}>\n      <View className={styles.inner}>\n        <Image src={img} className={styles.img}></Image>\n        <View className={styles.desc}>需要登录才能查看</View>\n        <View className={styles.login}>\n          <AtButton\n            size=\"small\"\n            circle\n            type=\"primary\"\n            onClick={() => {\n              Taro.navigateTo({ url: `/pages/login/index` });\n            }}\n          >\n            前往登录\n          </AtButton>\n        </View>\n      </View>\n    </View>\n  );\n};\n\nexport default NoAuthority;\n"
  },
  {
    "path": "src/components/repo-item/index.module.scss",
    "content": ".repo-wrap {\n  display: flex;\n  margin: 25px 20px;\n  padding: 20px;\n  box-sizing: border-box;\n  font-size: 25px;\n  border-radius: 10px;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  background: $itemBg;\n}\n\n.avatar {\n  width: 80px;\n  height: 80px;\n  margin-right: 20px;\n  border-radius: 50%;\n}\n.info {\n  flex: 1;\n}\n\n.lang-color {\n  width: 25px;\n  height: 25px;\n  border-radius: 50%;\n  margin-left: 8px;\n}\n.top {\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n}\n\n.name {\n  color: #40a0fa;\n  font-weight: 700;\n  font-size: 28px;\n}\n\n.language {\n  margin-left: auto;\n  align-self: flex-start;\n}\n\n.desc {\n  font-size: 23px;\n  font-weight: 400;\n  margin: 10px 0 10px 5px;\n}\n\n.bottom {\n  display: flex;\n  justify-content: flex-start;\n  font-size: 23px;\n  font-weight: 300;\n}\n\n.meta-item {\n  flex: 1;\n  white-space: nowrap;\n  color: rgb(107, 107, 107);\n}\n"
  },
  {
    "path": "src/components/repo-item/index.tsx",
    "content": "import { SearchReposResponse } from '@/github/githubComponents';\nimport { Text, View } from '@tarojs/components';\nimport { ITouchEvent } from '@tarojs/components/types/common';\nimport Taro from '@tarojs/taro';\nimport { memo } from 'react';\nimport { LANGUAGE_COLOR_MAP } from '../../pages/my-languages/languages';\nimport FontIcon from '../font-icon';\nimport styles from './index.module.scss';\n\ninterface RepoItemProps {\n  repo: SearchReposResponse['items'][number];\n}\n\nconst RepoItem = ({ repo }: RepoItemProps) => {\n  if (!repo) {\n    return null;\n  }\n  const {\n    id,\n    node_id,\n    name,\n    full_name,\n    owner,\n    html_url,\n    description,\n    fork,\n    url,\n    forks_url,\n    keys_url,\n    collaborators_url,\n    teams_url,\n    hooks_url,\n    issue_events_url,\n    events_url,\n    assignees_url,\n    branches_url,\n    tags_url,\n    blobs_url,\n    git_tags_url,\n    git_refs_url,\n    trees_url,\n    statuses_url,\n    languages_url,\n    stargazers_url,\n    contributors_url,\n    subscribers_url,\n    subscription_url,\n    commits_url,\n    git_commits_url,\n    comments_url,\n    issue_comment_url,\n    contents_url,\n    compare_url,\n    merges_url,\n    archive_url,\n    downloads_url,\n    issues_url,\n    pulls_url,\n    milestones_url,\n    notifications_url,\n    labels_url,\n    releases_url,\n    deployments_url,\n    created_at,\n    updated_at,\n    pushed_at,\n    git_url,\n    ssh_url,\n    clone_url,\n    svn_url,\n    homepage,\n    size,\n    stargazers_count,\n    watchers_count,\n    language,\n    has_issues,\n    has_projects,\n    has_downloads,\n    has_wiki,\n    has_pages,\n    forks_count,\n    mirror_url,\n    archived,\n    disabled,\n    open_issues_count,\n    license,\n    forks,\n    open_issues,\n    watchers,\n    default_branch,\n    permissions,\n  } = repo;\n\n  const { avatar_url, login } = owner || {};\n\n  const handleNameClick = (e: ITouchEvent) => {\n    e.stopPropagation();\n    const url = `/pages/developer/index?name=${login}`;\n    Taro.navigateTo({ url });\n  };\n\n  const handleCardClick = () => {\n    const url = `/pages/repos/index?owner=${login}&repo=${name}`;\n\n    Taro.navigateTo({ url });\n  };\n\n  return (\n    <View className={styles['repo-wrap']} onClick={handleCardClick}>\n      {/* <Avatar url={avatar_url} size=\"40\" username={login}></Avatar> */}\n      <View className={styles.info}>\n        <View className={styles.top}>\n          <Text className={styles.name}>{full_name}</Text>\n          <Text className={styles.language}>{language || ''}</Text>\n          <Text\n            className={styles['lang-color']}\n            style={{ background: LANGUAGE_COLOR_MAP[language!] }}\n          ></Text>\n        </View>\n        <View className={styles.desc}>{description || ''}</View>\n        <View className={styles.bottom}>\n          <View className={styles['meta-item']}>\n            <FontIcon size=\"14\" value=\"star\"></FontIcon>\n            <Text style={{ fontWeight: 400 }}>{stargazers_count}</Text>\n          </View>\n          <View className={styles['meta-item']}>\n            <FontIcon size=\"14\" value=\"git-repo-forked\"></FontIcon>\n            <Text style={{ fontWeight: 400 }}>{forks_count}</Text>\n          </View>\n          <View className={styles['meta-item']} onClick={handleNameClick}>\n            Updated on{' '}\n            <Text style={{ fontWeight: 400 }}>{updated_at.slice(0, 10)}</Text>\n          </View>\n        </View>\n      </View>\n    </View>\n  );\n};\n\nconst areEqual = ({ repo: prevRepo }: any, { repo }: any) => {\n  return prevRepo && prevRepo.full_name === repo.full_name;\n};\n\nexport default memo(RepoItem, areEqual);\n"
  },
  {
    "path": "src/components/skeleton-card/index.module.scss",
    "content": ".loading {\n  text-align: center;\n  margin-top: 250px;\n  color: $loading-text-color;\n  font-size: 30px;\n}\n"
  },
  {
    "path": "src/components/skeleton-card/index.tsx",
    "content": "import monaLoadingGif from '@/assets/mona-loading.gif';\nimport { Block, Image, Text, View } from '@tarojs/components';\nimport { FC, ReactNode } from 'react';\nimport Empty from '../empty';\nimport styles from './index.module.scss';\n\nconst SkeletonCard: FC<{\n  children: ReactNode;\n  isLoading?: boolean;\n  isError?: boolean;\n}> = ({ children, isLoading, isError }) => {\n  // TODO skeleton replace loading\n  return (\n    <Block>\n      {isLoading ? (\n        <View className={styles.loading}>\n          <Image\n            mode=\"widthFix\"\n            style={{ width: '90px' }}\n            src={monaLoadingGif}\n          ></Image>\n          <View>\n            <Text>努力加载..</Text>\n          </View>\n        </View>\n      ) : isError ? (\n        <Empty></Empty>\n      ) : (\n        children\n      )}\n    </Block>\n  );\n};\n\nexport default SkeletonCard;\n"
  },
  {
    "path": "src/components/user-info/index.module.scss",
    "content": ".wrap {\n}\n\n.header {\n  padding: 20px;\n  display: flex;\n  align-items: space-between;\n  background: $itemBg;\n}\n\n.divide {\n  height: 1px;\n  width: 100vw;\n}\n\n.basic {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: auto;\n  font-size: 25px;\n}\n.name {\n  width: 100%;\n  font-size: 32px;\n  font-weight: 600;\n  color: $primary;\n}\n\n.bio {\n  width: 100%;\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-line-clamp: 2;\n  word-break: break-all;\n  word-wrap: break-word;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  color: $text-color;\n}\n\n.Joined {\n  width: 100%;\n  font-size: 25px;\n  font-weight: 400;\n}\n\n.info {\n  margin-top: 30px;\n  padding: 20px;\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n}\n\n.meta {\n  margin: 0;\n}\n\n.nav {\n  display: flex;\n  justify-content: space-around;\n  align-items: center;\n}\n\n.nav-item {\n  flex: 1;\n  text-align: center;\n}\n\n.item-count {\n  color: rgb(43, 43, 43);\n  font-weight: 600;\n  font-size: 35px;\n}\n\n.item-label {\n  font-weight: 400;\n  font-size: 28px;\n  text-transform: capitalize;\n}\n\n.logout {\n  padding: 30px;\n}\n\n.action-btns {\n  display: flex;\n  justify-content: space-around;\n  padding: 0 30px 20px;\n\n  background-color: $itemBg;\n}\n.btn {\n}\n"
  },
  {
    "path": "src/components/user-info/index.tsx",
    "content": "import {\n  useActivityCheckRepoIsStarredByAuthenticatedUser,\n  useActivityStarRepoForAuthenticatedUser,\n} from '@/github/githubComponents';\nimport { copyText } from '@/utils/common';\nimport { getTimeAgo } from '@/utils/date';\nimport { Block, View } from '@tarojs/components';\nimport Taro from '@tarojs/taro';\nimport classnames from 'classnames';\nimport { AtButton, AtList } from 'taro-ui';\nimport Avatar from '../avatar';\nimport Empty from '../empty';\nimport ListItem from '../list-item';\nimport styles from './index.module.scss';\n\nconst supportStarParams = { owner: 'zenghongtu', repo: 'GitHub-Pro' };\n\nconst UserInfo = ({\n  userInfo,\n  isFollowing,\n  onFollowClick,\n  onLogout,\n  isCurrent = true,\n}: any) => {\n  if (!userInfo) {\n    return <Empty></Empty>;\n  }\n\n  const { data } = useActivityCheckRepoIsStarredByAuthenticatedUser({\n    pathParams: supportStarParams,\n  });\n  const isStarred = !data && data !== null;\n\n  const { mutateAsync } = useActivityStarRepoForAuthenticatedUser({});\n\n  const handleNavTo = (url: string) => () => {\n    Taro.navigateTo({ url });\n  };\n\n  const handleCopy = (text: string) => () => {\n    copyText(text);\n  };\n\n  const handleSupport = () => {\n    mutateAsync({ pathParams: supportStarParams }).then((res) => {\n      if (!res && res !== null) {\n        Taro.showToast({ title: '感谢支持! 🎈', icon: 'none' });\n      }\n    });\n  };\n  const {\n    login,\n    id,\n    node_id,\n    avatar_url,\n    gravatar_id,\n    url,\n    html_url,\n    followers_url,\n    following_url,\n    gists_url,\n    starred_url,\n    subscriptions_url,\n    organizations_url,\n    repos_url,\n    events_url,\n    received_events_url,\n    type,\n    site_admin,\n    name,\n    company = '',\n    blog = '',\n    location = '',\n    email = '',\n    hireable,\n    bio = '',\n    public_repos,\n    public_gists,\n    followers = 0,\n    following = 0,\n    created_at,\n    updated_at,\n  } = userInfo!;\n  const style: React.CSSProperties = { padding: '6px', fontSize: '16px' };\n\n  return (\n    <View className={styles.wrap}>\n      <View className={styles.header}>\n        <Avatar circle={false} size=\"70\" url={`${avatar_url}&s=96`}></Avatar>\n        <View className={styles.basic}>\n          <View className={styles.name}>\n            {name || login} ({login})\n          </View>\n          <View className={styles.bio}>{bio}</View>\n          <View className={styles.Joined}>\n            Joined at {getTimeAgo(created_at)}\n          </View>\n        </View>\n      </View>\n      <View className={styles.divide}></View>\n      <View className={classnames(styles.info, styles.meta)}>\n        <View className={styles.nav}>\n          <View\n            className={styles['nav-item']}\n            onClick={handleNavTo(\n              `/pages/developer/repos/index?isCurrent=${isCurrent}&name=${login}`,\n            )}\n          >\n            <View className={styles['item-count']}>\n              {Number(public_repos).toLocaleString()}\n            </View>\n            <View className={styles['item-label']}>repositories</View>\n          </View>\n          <View\n            className={styles['nav-item']}\n            onClick={handleNavTo(\n              `/pages/developer/followers/index?name=${login}`,\n            )}\n          >\n            <View className={styles['item-count']}>\n              {Number(followers).toLocaleString()}\n            </View>\n            <View className={styles['item-label']}>followers</View>\n          </View>\n          <View\n            className={styles['nav-item']}\n            onClick={handleNavTo(\n              `/pages/developer/following/index?name=${login}`,\n            )}\n          >\n            <View className={styles['item-count']}>\n              {Number(following).toLocaleString()}\n            </View>\n            <View className={styles['item-label']}>following</View>\n          </View>\n\n          {/* <View className={styles[\"nav-item\"]}>\n              <View className={styles[\"item-count\"]}>{public_gists}</View>\n              <View className={styles[\"item-label\"]}>Gists</View>\n            </View> */}\n        </View>\n      </View>\n      {!isCurrent && (\n        <View className={styles['action-btns']}>\n          <AtButton\n            className={styles.btn}\n            type=\"primary\"\n            full={false}\n            size=\"small\"\n            circle\n            onClick={onFollowClick}\n          >\n            {isFollowing ? 'unfollow' : 'follow'}\n          </AtButton>\n          <AtButton\n            className={styles.btn}\n            openType=\"share\"\n            type=\"primary\"\n            full={false}\n            size=\"small\"\n            circle\n          >\n            share\n          </AtButton>\n        </View>\n      )}\n\n      <View className={styles.info}>\n        <ListItem\n          hasBorder={true}\n          icon=\"activity\"\n          arrow=\"right\"\n          title=\"Activity\"\n          style={style}\n          color=\"#3B85F6\"\n          onClick={handleNavTo(`/pages/activity/index?name=${login}`)}\n        />\n        {!isCurrent && (\n          <ListItem\n            hasBorder={true}\n            icon=\"star\"\n            arrow=\"right\"\n            title=\"Starred\"\n            style={style}\n            color=\"#01b09d\"\n            onClick={handleNavTo(\n              `/pages/developer/starred/index?name=${login}`,\n            )}\n          />\n        )}\n\n        <ListItem\n          hasBorder={false}\n          arrow=\"right\"\n          title=\"Issues\"\n          icon=\"info\"\n          // @ts-ignore\n          style={{ ...style, fontWeight: '800' }}\n          color=\"#EC407A\"\n          onClick={handleNavTo(`/pages/profile/issues`)}\n        />\n      </View>\n\n      <View className={styles.info}>\n        <ListItem\n          arrow={null}\n          hasBorder={true}\n          title=\"Email\"\n          icon=\"email\"\n          color=\"#F99501\"\n          style={style}\n          extraText={email}\n          onClick={handleCopy(email)}\n        ></ListItem>\n        <ListItem\n          arrow={null}\n          hasBorder={true}\n          title=\"Blog\"\n          icon=\"link\"\n          color=\"#3F9FFF\"\n          style={style}\n          extraText={blog}\n          onClick={handleCopy(blog)}\n        ></ListItem>\n        <ListItem\n          arrow={null}\n          icon=\"people\"\n          hasBorder={true}\n          title=\"Company\"\n          color=\"#F44337\"\n          style={style}\n          extraText={company}\n          onClick={handleCopy(company)}\n        ></ListItem>\n        <ListItem\n          icon=\"location\"\n          arrow={null}\n          hasBorder={false}\n          title=\"Location\"\n          color=\"#2F63CD\"\n          style={style}\n          extraText={location}\n          onClick={handleCopy(location)}\n        ></ListItem>\n      </View>\n      {isCurrent && (\n        <Block>\n          <View className={styles.info}>\n            <AtList hasBorder={false}>\n              {!isStarred && (\n                <ListItem\n                  icon=\"star\"\n                  color=\"#ff0012\"\n                  // @ts-ignore\n                  style={{ ...style, fontWeight: '800' }}\n                  hasBorder={true}\n                  // arrow=\"right\"\n                  title=\"Star Support\"\n                  onClick={handleSupport}\n                />\n              )}\n              <ListItem\n                icon=\"fankui\"\n                color=\"#ff9324\"\n                // @ts-ignore\n                style={{ ...style, fontWeight: '800' }}\n                hasBorder={true}\n                arrow=\"right\"\n                title=\"Feedback\"\n                onClick={handleNavTo(\n                  `/pages/issues/index?full_name=zenghongtu/GitHub-Pro`,\n                )}\n              />\n              <ListItem\n                icon=\"guanyu\"\n                color=\"#f23d7a\"\n                style={style}\n                hasBorder={false}\n                arrow=\"right\"\n                title=\"About\"\n                onClick={handleNavTo(\n                  `/pages/repos/index?owner=zenghongtu&repo=GitHub-Pro`,\n                )}\n              />\n            </AtList>\n          </View>\n          <View className={styles.logout}>\n            <AtButton\n              onClick={onLogout}\n              customStyle={{ background: '#fb3e3b', border: 'none' }}\n              type=\"primary\"\n            >\n              Logout\n            </AtButton>\n          </View>\n        </Block>\n      )}\n    </View>\n  );\n};\n\nexport default UserInfo;\n"
  },
  {
    "path": "src/components/user-item/index.module.scss",
    "content": ".user {\n  display: flex;\n  align-items: center;\n  margin: 20px;\n  padding: 8px 0;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n}\n"
  },
  {
    "path": "src/components/user-item/index.tsx",
    "content": "import { Block, View } from '@tarojs/components';\nimport Author from '../author';\nimport Empty from '../empty';\nimport LoadMore from '../load-more';\nimport styles from './index.module.scss';\n\nconst UserItem = ({ data, hasMore }: any) => {\n  return (\n    <View>\n      {data ? (\n        <Block>\n          {data.map((user) => {\n            const node_id = user.node_id;\n            const login = user.login;\n            const avatar_url = user.avatar_url;\n            return (\n              <View key={node_id} className={styles.user}>\n                <Author login={login} url={avatar_url}></Author>\n              </View>\n            );\n          })}\n          {data && <LoadMore hasMore={!!hasMore}></LoadMore>}\n        </Block>\n      ) : (\n        <Empty></Empty>\n      )}\n    </View>\n  );\n};\n\nexport default UserItem;\n"
  },
  {
    "path": "src/constants.ts",
    "content": "export interface IDefaultParams {\n  per_page?: number;\n  page?: number;\n}\nexport const defaultParams: IDefaultParams = {\n  per_page: 20,\n  page: 1,\n};\n\nexport const issueDefaultParams: IDefaultParams = {\n  // 多了会 GG\n  per_page: 10,\n  page: 1,\n};\n\nexport const defaultSearchParams = {\n  q: '',\n  sort: '',\n  order: '',\n  per_page: 30,\n  page: 1,\n};\n\nexport const REACH_BOTTOM_EVENT = 'reach_bottom_event';\nexport const PULL_DOWN_REFRESH_EVENT = 'pull_down_refresh_event';\n\nexport const THROTTLE_DELAY = 1500;\n\nexport const TRENDING_URL = 'https://trending.stayin.cn';\n\nexport const CURRENT_LANGUAGE_STORAGE_KEY = 'current-language';\n"
  },
  {
    "path": "src/github/githubComponents.ts",
    "content": "/**\n * Generated by @openapi-codegen\n *\n * @version 1.1.4\n */\nimport * as reactQuery from '@tanstack/react-query';\nimport { GithubContext, useGithubContext } from './githubContext';\nimport type * as Fetcher from './githubFetcher';\nimport { githubFetch } from './githubFetcher';\nimport type * as Responses from './githubResponses';\nimport type * as Schemas from './githubSchemas';\n\nexport type MetaRootError = Fetcher.ErrorWrapper<undefined>;\n\nexport type MetaRootResponse = {\n  /**\n   * @format uri\n   */\n  authorizations_url: string;\n  /**\n   * @format uri\n   */\n  code_search_url: string;\n  /**\n   * @format uri\n   */\n  commit_search_url: string;\n  /**\n   * @format uri\n   */\n  current_user_authorizations_html_url: string;\n  /**\n   * @format uri\n   */\n  current_user_repositories_url: string;\n  /**\n   * @format uri\n   */\n  current_user_url: string;\n  /**\n   * @format uri\n   */\n  emails_url: string;\n  /**\n   * @format uri\n   */\n  emojis_url: string;\n  /**\n   * @format uri\n   */\n  events_url: string;\n  /**\n   * @format uri\n   */\n  feeds_url: string;\n  /**\n   * @format uri\n   */\n  followers_url: string;\n  /**\n   * @format uri\n   */\n  following_url: string;\n  /**\n   * @format uri\n   */\n  gists_url: string;\n  /**\n   * @format uri\n   */\n  hub_url: string;\n  /**\n   * @format uri\n   */\n  issue_search_url: string;\n  /**\n   * @format uri\n   */\n  issues_url: string;\n  /**\n   * @format uri\n   */\n  keys_url: string;\n  /**\n   * @format uri\n   */\n  label_search_url: string;\n  /**\n   * @format uri\n   */\n  notifications_url: string;\n  /**\n   * @format uri\n   */\n  organization_repositories_url: string;\n  /**\n   * @format uri\n   */\n  organization_teams_url: string;\n  /**\n   * @format uri\n   */\n  organization_url: string;\n  /**\n   * @format uri\n   */\n  public_gists_url: string;\n  /**\n   * @format uri\n   */\n  rate_limit_url: string;\n  /**\n   * @format uri\n   */\n  repository_search_url: string;\n  /**\n   * @format uri\n   */\n  repository_url: string;\n  /**\n   * @format uri\n   */\n  starred_gists_url: string;\n  /**\n   * @format uri\n   */\n  starred_url: string;\n  /**\n   * @format uri\n   */\n  topic_search_url?: string;\n  /**\n   * @format uri\n   */\n  user_organizations_url: string;\n  /**\n   * @format uri\n   */\n  user_repositories_url: string;\n  /**\n   * @format uri\n   */\n  user_search_url: string;\n  /**\n   * @format uri\n   */\n  user_url: string;\n};\n\nexport type MetaRootVariables = GithubContext['fetcherOptions'];\n\n/**\n * Get Hypermedia links to resources accessible in GitHub's REST API\n */\nexport const fetchMetaRoot = (\n  variables: MetaRootVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<MetaRootResponse, MetaRootError, undefined, {}, {}, {}>({\n    url: '/',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Get Hypermedia links to resources accessible in GitHub's REST API\n */\nexport const useMetaRoot = <TData = MetaRootResponse>(\n  variables: MetaRootVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<MetaRootResponse, MetaRootError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<MetaRootResponse, MetaRootError, TData>(\n    queryKeyFn({ path: '/', operationId: 'metaRoot', variables }),\n    ({ signal }) => fetchMetaRoot({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsGetAuthenticatedError = Fetcher.ErrorWrapper<undefined>;\n\nexport type AppsGetAuthenticatedVariables = GithubContext['fetcherOptions'];\n\n/**\n * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the \"[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)\" endpoint.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const fetchAppsGetAuthenticated = (\n  variables: AppsGetAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Integration,\n    AppsGetAuthenticatedError,\n    undefined,\n    {},\n    {},\n    {}\n  >({ url: '/app', method: 'get', ...variables, signal });\n\n/**\n * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the \"[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)\" endpoint.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const useAppsGetAuthenticated = <TData = Schemas.Integration>(\n  variables: AppsGetAuthenticatedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Integration,\n      AppsGetAuthenticatedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Integration,\n    AppsGetAuthenticatedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/app',\n      operationId: 'appsGetAuthenticated',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsGetAuthenticated({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsCreateFromManifestPathParams = {\n  code: string;\n};\n\nexport type AppsCreateFromManifestError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type AppsCreateFromManifestResponse = {\n  /**\n   * @example \"Iv1.25b5d1e65ffc4022\"\n   */\n  client_id: string;\n  /**\n   * @example \"1d4b2097ac622ba702d19de498f005747a8b21d3\"\n   */\n  client_secret: string;\n  /**\n   * @example \"2017-07-08T20:18:44.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example The description of the app.\n   */\n  description: string | null;\n  /**\n   * The list of events for the GitHub app\n   *\n   * @example label\n   * @example deployment\n   */\n  events: string[];\n  /**\n   * @example https://example.com\n   * @format uri\n   */\n  external_url: string;\n  /**\n   * @example https://github.com/apps/super-ci\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * Unique identifier of the GitHub app\n   *\n   * @example 37\n   */\n  id?: number;\n  /**\n   * The number of installations associated with the GitHub app\n   *\n   * @example 5\n   */\n  installations_count?: number;\n  /**\n   * The name of the GitHub app\n   *\n   * @example Probot Owners\n   */\n  name?: string;\n  /**\n   * @example MDExOkludGVncmF0aW9uMQ==\n   */\n  node_id?: string;\n  /**\n   * Simple User\n   */\n  owner?: Schemas.SimpleUser;\n  /**\n   * @example \"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"\n   */\n  pem: string;\n  /**\n   * The set of permissions for the GitHub app\n   *\n   * @example {\"deployments\":\"write\",\"issues\":\"read\"}\n   */\n  permissions: {\n    checks?: string;\n    contents?: string;\n    deployments?: string;\n    issues?: string;\n    metadata?: string;\n  } & {\n    [key: string]: string;\n  };\n  /**\n   * The slug name of the GitHub app\n   *\n   * @example probot-owners\n   */\n  slug?: string;\n  /**\n   * @example \"2017-07-08T20:18:44.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example \"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"\n   */\n  webhook_secret: string;\n} & {\n  [key: string]: any;\n};\n\nexport type AppsCreateFromManifestVariables = {\n  pathParams: AppsCreateFromManifestPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`.\n */\nexport const fetchAppsCreateFromManifest = (\n  variables: AppsCreateFromManifestVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AppsCreateFromManifestResponse,\n    AppsCreateFromManifestError,\n    undefined,\n    {},\n    {},\n    AppsCreateFromManifestPathParams\n  >({\n    url: '/app-manifests/{code}/conversions',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`.\n */\nexport const useAppsCreateFromManifest = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      AppsCreateFromManifestResponse,\n      AppsCreateFromManifestError,\n      AppsCreateFromManifestVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    AppsCreateFromManifestResponse,\n    AppsCreateFromManifestError,\n    AppsCreateFromManifestVariables\n  >(\n    (variables: AppsCreateFromManifestVariables) =>\n      fetchAppsCreateFromManifest({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsGetWebhookConfigForAppError = Fetcher.ErrorWrapper<undefined>;\n\nexport type AppsGetWebhookConfigForAppVariables =\n  GithubContext['fetcherOptions'];\n\n/**\n * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see \"[Creating a GitHub App](/developers/apps/creating-a-github-app).\"\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const fetchAppsGetWebhookConfigForApp = (\n  variables: AppsGetWebhookConfigForAppVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.WebhookConfig,\n    AppsGetWebhookConfigForAppError,\n    undefined,\n    {},\n    {},\n    {}\n  >({ url: '/app/hook/config', method: 'get', ...variables, signal });\n\n/**\n * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see \"[Creating a GitHub App](/developers/apps/creating-a-github-app).\"\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const useAppsGetWebhookConfigForApp = <TData = Schemas.WebhookConfig>(\n  variables: AppsGetWebhookConfigForAppVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.WebhookConfig,\n      AppsGetWebhookConfigForAppError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.WebhookConfig,\n    AppsGetWebhookConfigForAppError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/app/hook/config',\n      operationId: 'appsGetWebhookConfigForApp',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsGetWebhookConfigForApp(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsUpdateWebhookConfigForAppError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type AppsUpdateWebhookConfigForAppRequestBody = {\n  content_type?: Schemas.WebhookConfigContentType;\n  insecure_ssl?: Schemas.WebhookConfigInsecureSsl;\n  secret?: Schemas.WebhookConfigSecret;\n  url?: Schemas.WebhookConfigUrl;\n};\n\nexport type AppsUpdateWebhookConfigForAppVariables = {\n  body?: AppsUpdateWebhookConfigForAppRequestBody;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see \"[Creating a GitHub App](/developers/apps/creating-a-github-app).\"\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const fetchAppsUpdateWebhookConfigForApp = (\n  variables: AppsUpdateWebhookConfigForAppVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.WebhookConfig,\n    AppsUpdateWebhookConfigForAppError,\n    AppsUpdateWebhookConfigForAppRequestBody,\n    {},\n    {},\n    {}\n  >({ url: '/app/hook/config', method: 'patch', ...variables, signal });\n\n/**\n * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see \"[Creating a GitHub App](/developers/apps/creating-a-github-app).\"\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const useAppsUpdateWebhookConfigForApp = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.WebhookConfig,\n      AppsUpdateWebhookConfigForAppError,\n      AppsUpdateWebhookConfigForAppVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.WebhookConfig,\n    AppsUpdateWebhookConfigForAppError,\n    AppsUpdateWebhookConfigForAppVariables\n  >(\n    (variables: AppsUpdateWebhookConfigForAppVariables) =>\n      fetchAppsUpdateWebhookConfigForApp({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsListInstallationsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  outdated?: string;\n};\n\nexport type AppsListInstallationsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type AppsListInstallationsResponse = Schemas.Installation[];\n\nexport type AppsListInstallationsVariables = {\n  queryParams?: AppsListInstallationsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n *\n * The permissions the installation has are included under the `permissions` key.\n */\nexport const fetchAppsListInstallations = (\n  variables: AppsListInstallationsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AppsListInstallationsResponse,\n    AppsListInstallationsError,\n    undefined,\n    {},\n    AppsListInstallationsQueryParams,\n    {}\n  >({ url: '/app/installations', method: 'get', ...variables, signal });\n\n/**\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n *\n * The permissions the installation has are included under the `permissions` key.\n */\nexport const useAppsListInstallations = <TData = AppsListInstallationsResponse>(\n  variables: AppsListInstallationsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      AppsListInstallationsResponse,\n      AppsListInstallationsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    AppsListInstallationsResponse,\n    AppsListInstallationsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/app/installations',\n      operationId: 'appsListInstallations',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsListInstallations({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsDeleteInstallationPathParams = {\n  /**\n   * installation_id parameter\n   */\n  installationId: number;\n};\n\nexport type AppsDeleteInstallationError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type AppsDeleteInstallationVariables = {\n  pathParams: AppsDeleteInstallationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)\" endpoint.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const fetchAppsDeleteInstallation = (\n  variables: AppsDeleteInstallationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    AppsDeleteInstallationError,\n    undefined,\n    {},\n    {},\n    AppsDeleteInstallationPathParams\n  >({\n    url: '/app/installations/{installationId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the \"[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)\" endpoint.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const useAppsDeleteInstallation = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      AppsDeleteInstallationError,\n      AppsDeleteInstallationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    AppsDeleteInstallationError,\n    AppsDeleteInstallationVariables\n  >(\n    (variables: AppsDeleteInstallationVariables) =>\n      fetchAppsDeleteInstallation({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsGetInstallationPathParams = {\n  /**\n   * installation_id parameter\n   */\n  installationId: number;\n};\n\nexport type AppsGetInstallationError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type AppsGetInstallationVariables = {\n  pathParams: AppsGetInstallationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Enables an authenticated GitHub App to find an installation's information using the installation id. The installation's account type (`target_type`) will be either an organization or a user account, depending which account the repository belongs to.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const fetchAppsGetInstallation = (\n  variables: AppsGetInstallationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Installation,\n    AppsGetInstallationError,\n    undefined,\n    {},\n    {},\n    AppsGetInstallationPathParams\n  >({\n    url: '/app/installations/{installationId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Enables an authenticated GitHub App to find an installation's information using the installation id. The installation's account type (`target_type`) will be either an organization or a user account, depending which account the repository belongs to.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const useAppsGetInstallation = <TData = Schemas.Installation>(\n  variables: AppsGetInstallationVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Installation,\n      AppsGetInstallationError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Installation,\n    AppsGetInstallationError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/app/installations/{installation_id}',\n      operationId: 'appsGetInstallation',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsGetInstallation({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsCreateInstallationAccessTokenPathParams = {\n  /**\n   * installation_id parameter\n   */\n  installationId: number;\n};\n\nexport type AppsCreateInstallationAccessTokenError = Fetcher.ErrorWrapper<\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type AppsCreateInstallationAccessTokenRequestBody = {\n  permissions?: Schemas.AppPermissions;\n  /**\n   * List of repository names that the token should have access to\n   */\n  repositories?: string[];\n  /**\n   * List of repository IDs that the token should have access to\n   *\n   * @example 1\n   */\n  repository_ids?: number[];\n};\n\nexport type AppsCreateInstallationAccessTokenVariables = {\n  body?: AppsCreateInstallationAccessTokenRequestBody;\n  pathParams: AppsCreateInstallationAccessTokenPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const fetchAppsCreateInstallationAccessToken = (\n  variables: AppsCreateInstallationAccessTokenVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.InstallationToken,\n    AppsCreateInstallationAccessTokenError,\n    AppsCreateInstallationAccessTokenRequestBody,\n    {},\n    {},\n    AppsCreateInstallationAccessTokenPathParams\n  >({\n    url: '/app/installations/{installationId}/access_tokens',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const useAppsCreateInstallationAccessToken = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.InstallationToken,\n      AppsCreateInstallationAccessTokenError,\n      AppsCreateInstallationAccessTokenVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.InstallationToken,\n    AppsCreateInstallationAccessTokenError,\n    AppsCreateInstallationAccessTokenVariables\n  >(\n    (variables: AppsCreateInstallationAccessTokenVariables) =>\n      fetchAppsCreateInstallationAccessToken({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type AppsUnsuspendInstallationPathParams = {\n  /**\n   * installation_id parameter\n   */\n  installationId: number;\n};\n\nexport type AppsUnsuspendInstallationError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type AppsUnsuspendInstallationVariables = {\n  pathParams: AppsUnsuspendInstallationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removes a GitHub App installation suspension.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const fetchAppsUnsuspendInstallation = (\n  variables: AppsUnsuspendInstallationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    AppsUnsuspendInstallationError,\n    undefined,\n    {},\n    {},\n    AppsUnsuspendInstallationPathParams\n  >({\n    url: '/app/installations/{installationId}/suspended',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removes a GitHub App installation suspension.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const useAppsUnsuspendInstallation = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      AppsUnsuspendInstallationError,\n      AppsUnsuspendInstallationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    AppsUnsuspendInstallationError,\n    AppsUnsuspendInstallationVariables\n  >(\n    (variables: AppsUnsuspendInstallationVariables) =>\n      fetchAppsUnsuspendInstallation({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsSuspendInstallationPathParams = {\n  /**\n   * installation_id parameter\n   */\n  installationId: number;\n};\n\nexport type AppsSuspendInstallationError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type AppsSuspendInstallationVariables = {\n  pathParams: AppsSuspendInstallationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const fetchAppsSuspendInstallation = (\n  variables: AppsSuspendInstallationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    AppsSuspendInstallationError,\n    undefined,\n    {},\n    {},\n    AppsSuspendInstallationPathParams\n  >({\n    url: '/app/installations/{installationId}/suspended',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const useAppsSuspendInstallation = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      AppsSuspendInstallationError,\n      AppsSuspendInstallationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    AppsSuspendInstallationError,\n    AppsSuspendInstallationVariables\n  >(\n    (variables: AppsSuspendInstallationVariables) =>\n      fetchAppsSuspendInstallation({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OauthAuthorizationsListGrantsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * The client ID of your GitHub app.\n   */\n  client_id?: string;\n};\n\nexport type OauthAuthorizationsListGrantsError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type OauthAuthorizationsListGrantsResponse = Schemas.ApplicationGrant[];\n\nexport type OauthAuthorizationsListGrantsVariables = {\n  queryParams?: OauthAuthorizationsListGrantsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n *\n * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `[\"repo\", \"user\"]`.\n */\nexport const fetchOauthAuthorizationsListGrants = (\n  variables: OauthAuthorizationsListGrantsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OauthAuthorizationsListGrantsResponse,\n    OauthAuthorizationsListGrantsError,\n    undefined,\n    {},\n    OauthAuthorizationsListGrantsQueryParams,\n    {}\n  >({ url: '/applications/grants', method: 'get', ...variables, signal });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n *\n * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `[\"repo\", \"user\"]`.\n */\nexport const useOauthAuthorizationsListGrants = <\n  TData = OauthAuthorizationsListGrantsResponse,\n>(\n  variables: OauthAuthorizationsListGrantsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OauthAuthorizationsListGrantsResponse,\n      OauthAuthorizationsListGrantsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OauthAuthorizationsListGrantsResponse,\n    OauthAuthorizationsListGrantsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/applications/grants',\n      operationId: 'oauthAuthorizationsListGrants',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOauthAuthorizationsListGrants(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OauthAuthorizationsDeleteGrantPathParams = {\n  /**\n   * grant_id parameter\n   */\n  grantId: number;\n};\n\nexport type OauthAuthorizationsDeleteGrantError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type OauthAuthorizationsDeleteGrantVariables = {\n  pathParams: OauthAuthorizationsDeleteGrantPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n *\n * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).\n */\nexport const fetchOauthAuthorizationsDeleteGrant = (\n  variables: OauthAuthorizationsDeleteGrantVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OauthAuthorizationsDeleteGrantError,\n    undefined,\n    {},\n    {},\n    OauthAuthorizationsDeleteGrantPathParams\n  >({\n    url: '/applications/grants/{grantId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n *\n * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).\n */\nexport const useOauthAuthorizationsDeleteGrant = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OauthAuthorizationsDeleteGrantError,\n      OauthAuthorizationsDeleteGrantVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OauthAuthorizationsDeleteGrantError,\n    OauthAuthorizationsDeleteGrantVariables\n  >(\n    (variables: OauthAuthorizationsDeleteGrantVariables) =>\n      fetchOauthAuthorizationsDeleteGrant({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OauthAuthorizationsGetGrantPathParams = {\n  /**\n   * grant_id parameter\n   */\n  grantId: number;\n};\n\nexport type OauthAuthorizationsGetGrantError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type OauthAuthorizationsGetGrantVariables = {\n  pathParams: OauthAuthorizationsGetGrantPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n */\nexport const fetchOauthAuthorizationsGetGrant = (\n  variables: OauthAuthorizationsGetGrantVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ApplicationGrant,\n    OauthAuthorizationsGetGrantError,\n    undefined,\n    {},\n    {},\n    OauthAuthorizationsGetGrantPathParams\n  >({\n    url: '/applications/grants/{grantId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n */\nexport const useOauthAuthorizationsGetGrant = <\n  TData = Schemas.ApplicationGrant,\n>(\n  variables: OauthAuthorizationsGetGrantVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ApplicationGrant,\n      OauthAuthorizationsGetGrantError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ApplicationGrant,\n    OauthAuthorizationsGetGrantError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/applications/grants/{grant_id}',\n      operationId: 'oauthAuthorizationsGetGrant',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOauthAuthorizationsGetGrant(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsDeleteAuthorizationPathParams = {\n  /**\n   * The client ID of your GitHub app.\n   */\n  clientId: string;\n};\n\nexport type AppsDeleteAuthorizationError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type AppsDeleteAuthorizationRequestBody = {\n  /**\n   * The OAuth access token used to authenticate to the GitHub API.\n   */\n  access_token?: string;\n};\n\nexport type AppsDeleteAuthorizationVariables = {\n  body?: AppsDeleteAuthorizationRequestBody;\n  pathParams: AppsDeleteAuthorizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted.\n * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).\n */\nexport const fetchAppsDeleteAuthorization = (\n  variables: AppsDeleteAuthorizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    AppsDeleteAuthorizationError,\n    AppsDeleteAuthorizationRequestBody,\n    {},\n    {},\n    AppsDeleteAuthorizationPathParams\n  >({\n    url: '/applications/{clientId}/grant',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted.\n * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).\n */\nexport const useAppsDeleteAuthorization = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      AppsDeleteAuthorizationError,\n      AppsDeleteAuthorizationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    AppsDeleteAuthorizationError,\n    AppsDeleteAuthorizationVariables\n  >(\n    (variables: AppsDeleteAuthorizationVariables) =>\n      fetchAppsDeleteAuthorization({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsRevokeGrantForApplicationPathParams = {\n  /**\n   * The client ID of your GitHub app.\n   */\n  clientId: string;\n  accessToken: string;\n};\n\nexport type AppsRevokeGrantForApplicationError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type AppsRevokeGrantForApplicationVariables = {\n  pathParams: AppsRevokeGrantForApplicationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n *\n * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted.\n *\n * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under \"Authorized OAuth Apps\" on GitHub](https://github.com/settings/applications#authorized).\n */\nexport const fetchAppsRevokeGrantForApplication = (\n  variables: AppsRevokeGrantForApplicationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    AppsRevokeGrantForApplicationError,\n    undefined,\n    {},\n    {},\n    AppsRevokeGrantForApplicationPathParams\n  >({\n    url: '/applications/{clientId}/grants/{accessToken}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n *\n * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted.\n *\n * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under \"Authorized OAuth Apps\" on GitHub](https://github.com/settings/applications#authorized).\n */\nexport const useAppsRevokeGrantForApplication = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      AppsRevokeGrantForApplicationError,\n      AppsRevokeGrantForApplicationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    AppsRevokeGrantForApplicationError,\n    AppsRevokeGrantForApplicationVariables\n  >(\n    (variables: AppsRevokeGrantForApplicationVariables) =>\n      fetchAppsRevokeGrantForApplication({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsDeleteTokenPathParams = {\n  /**\n   * The client ID of your GitHub app.\n   */\n  clientId: string;\n};\n\nexport type AppsDeleteTokenError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type AppsDeleteTokenRequestBody = {\n  /**\n   * The OAuth access token used to authenticate to the GitHub API.\n   */\n  access_token: string;\n};\n\nexport type AppsDeleteTokenVariables = {\n  body: AppsDeleteTokenRequestBody;\n  pathParams: AppsDeleteTokenPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password.\n */\nexport const fetchAppsDeleteToken = (\n  variables: AppsDeleteTokenVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    AppsDeleteTokenError,\n    AppsDeleteTokenRequestBody,\n    {},\n    {},\n    AppsDeleteTokenPathParams\n  >({\n    url: '/applications/{clientId}/token',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password.\n */\nexport const useAppsDeleteToken = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      AppsDeleteTokenError,\n      AppsDeleteTokenVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    AppsDeleteTokenError,\n    AppsDeleteTokenVariables\n  >(\n    (variables: AppsDeleteTokenVariables) =>\n      fetchAppsDeleteToken({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsResetTokenPathParams = {\n  /**\n   * The client ID of your GitHub app.\n   */\n  clientId: string;\n};\n\nexport type AppsResetTokenError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type AppsResetTokenRequestBody = {\n  /**\n   * The access_token of the OAuth application.\n   */\n  access_token: string;\n};\n\nexport type AppsResetTokenVariables = {\n  body: AppsResetTokenRequestBody;\n  pathParams: AppsResetTokenPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the \"token\" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.\n */\nexport const fetchAppsResetToken = (\n  variables: AppsResetTokenVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Authorization,\n    AppsResetTokenError,\n    AppsResetTokenRequestBody,\n    {},\n    {},\n    AppsResetTokenPathParams\n  >({\n    url: '/applications/{clientId}/token',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the \"token\" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.\n */\nexport const useAppsResetToken = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Authorization,\n      AppsResetTokenError,\n      AppsResetTokenVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Authorization,\n    AppsResetTokenError,\n    AppsResetTokenVariables\n  >(\n    (variables: AppsResetTokenVariables) =>\n      fetchAppsResetToken({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsCheckTokenPathParams = {\n  /**\n   * The client ID of your GitHub app.\n   */\n  clientId: string;\n};\n\nexport type AppsCheckTokenError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type AppsCheckTokenRequestBody = {\n  /**\n   * The access_token of the OAuth application.\n   */\n  access_token: string;\n};\n\nexport type AppsCheckTokenVariables = {\n  body: AppsCheckTokenRequestBody;\n  pathParams: AppsCheckTokenPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`.\n */\nexport const fetchAppsCheckToken = (\n  variables: AppsCheckTokenVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Authorization,\n    AppsCheckTokenError,\n    AppsCheckTokenRequestBody,\n    {},\n    {},\n    AppsCheckTokenPathParams\n  >({\n    url: '/applications/{clientId}/token',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`.\n */\nexport const useAppsCheckToken = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Authorization,\n      AppsCheckTokenError,\n      AppsCheckTokenVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Authorization,\n    AppsCheckTokenError,\n    AppsCheckTokenVariables\n  >(\n    (variables: AppsCheckTokenVariables) =>\n      fetchAppsCheckToken({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsScopeTokenPathParams = {\n  /**\n   * The client ID of your GitHub app.\n   */\n  clientId: string;\n};\n\nexport type AppsScopeTokenError = Fetcher.ErrorWrapper<\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type AppsScopeTokenRequestBody = {\n  /**\n   * **Required.** The OAuth access token used to authenticate to the GitHub API.\n   *\n   * @example e72e16c7e42f292c6912e7710c838347ae178b4a\n   */\n  access_token: string;\n  permissions?: Schemas.AppPermissions;\n  /**\n   * The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified.\n   */\n  repositories?: string[];\n  /**\n   * The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified.\n   *\n   * @example 1\n   */\n  repository_ids?: number[];\n  /**\n   * The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified.\n   *\n   * @example octocat\n   */\n  target?: string;\n  /**\n   * The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified.\n   *\n   * @example 1\n   */\n  target_id?: number;\n};\n\nexport type AppsScopeTokenVariables = {\n  body: AppsScopeTokenRequestBody;\n  pathParams: AppsScopeTokenPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Exchanges a non-repository scoped user-to-server OAuth access token for a repository scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.\n */\nexport const fetchAppsScopeToken = (\n  variables: AppsScopeTokenVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Authorization,\n    AppsScopeTokenError,\n    AppsScopeTokenRequestBody,\n    {},\n    {},\n    AppsScopeTokenPathParams\n  >({\n    url: '/applications/{clientId}/token/scoped',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Exchanges a non-repository scoped user-to-server OAuth access token for a repository scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.\n */\nexport const useAppsScopeToken = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Authorization,\n      AppsScopeTokenError,\n      AppsScopeTokenVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Authorization,\n    AppsScopeTokenError,\n    AppsScopeTokenVariables\n  >(\n    (variables: AppsScopeTokenVariables) =>\n      fetchAppsScopeToken({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsRevokeAuthorizationForApplicationPathParams = {\n  /**\n   * The client ID of your GitHub app.\n   */\n  clientId: string;\n  accessToken: string;\n};\n\nexport type AppsRevokeAuthorizationForApplicationError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type AppsRevokeAuthorizationForApplicationVariables = {\n  pathParams: AppsRevokeAuthorizationForApplicationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n *\n * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password.\n */\nexport const fetchAppsRevokeAuthorizationForApplication = (\n  variables: AppsRevokeAuthorizationForApplicationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    AppsRevokeAuthorizationForApplicationError,\n    undefined,\n    {},\n    {},\n    AppsRevokeAuthorizationForApplicationPathParams\n  >({\n    url: '/applications/{clientId}/tokens/{accessToken}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n *\n * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password.\n */\nexport const useAppsRevokeAuthorizationForApplication = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      AppsRevokeAuthorizationForApplicationError,\n      AppsRevokeAuthorizationForApplicationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    AppsRevokeAuthorizationForApplicationError,\n    AppsRevokeAuthorizationForApplicationVariables\n  >(\n    (variables: AppsRevokeAuthorizationForApplicationVariables) =>\n      fetchAppsRevokeAuthorizationForApplication({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type AppsCheckAuthorizationPathParams = {\n  /**\n   * The client ID of your GitHub app.\n   */\n  clientId: string;\n  accessToken: string;\n};\n\nexport type AppsCheckAuthorizationError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type AppsCheckAuthorizationResponse = Schemas.Authorization;\n\nexport type AppsCheckAuthorizationVariables = {\n  pathParams: AppsCheckAuthorizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n *\n * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.\n */\nexport const fetchAppsCheckAuthorization = (\n  variables: AppsCheckAuthorizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AppsCheckAuthorizationResponse,\n    AppsCheckAuthorizationError,\n    undefined,\n    {},\n    {},\n    AppsCheckAuthorizationPathParams\n  >({\n    url: '/applications/{clientId}/tokens/{accessToken}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n *\n * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.\n */\nexport const useAppsCheckAuthorization = <\n  TData = AppsCheckAuthorizationResponse,\n>(\n  variables: AppsCheckAuthorizationVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      AppsCheckAuthorizationResponse,\n      AppsCheckAuthorizationError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    AppsCheckAuthorizationResponse,\n    AppsCheckAuthorizationError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/applications/{client_id}/tokens/{access_token}',\n      operationId: 'appsCheckAuthorization',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsCheckAuthorization({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsResetAuthorizationPathParams = {\n  /**\n   * The client ID of your GitHub app.\n   */\n  clientId: string;\n  accessToken: string;\n};\n\nexport type AppsResetAuthorizationError = Fetcher.ErrorWrapper<undefined>;\n\nexport type AppsResetAuthorizationVariables = {\n  pathParams: AppsResetAuthorizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n *\n * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the \"token\" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.\n */\nexport const fetchAppsResetAuthorization = (\n  variables: AppsResetAuthorizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Authorization,\n    AppsResetAuthorizationError,\n    undefined,\n    {},\n    {},\n    AppsResetAuthorizationPathParams\n  >({\n    url: '/applications/{clientId}/tokens/{accessToken}',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue OAuth endpoints that contain `access_token` in the path parameter. We have introduced new endpoints that allow you to securely manage tokens for OAuth Apps by moving `access_token` to the request body. For more information, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/).\n *\n * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the \"token\" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.\n */\nexport const useAppsResetAuthorization = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Authorization,\n      AppsResetAuthorizationError,\n      AppsResetAuthorizationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Authorization,\n    AppsResetAuthorizationError,\n    AppsResetAuthorizationVariables\n  >(\n    (variables: AppsResetAuthorizationVariables) =>\n      fetchAppsResetAuthorization({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsGetBySlugPathParams = {\n  appSlug: string;\n};\n\nexport type AppsGetBySlugError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type AppsGetBySlugVariables = {\n  pathParams: AppsGetBySlugPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`).\n *\n * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.\n */\nexport const fetchAppsGetBySlug = (\n  variables: AppsGetBySlugVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Integration,\n    AppsGetBySlugError,\n    undefined,\n    {},\n    {},\n    AppsGetBySlugPathParams\n  >({ url: '/apps/{appSlug}', method: 'get', ...variables, signal });\n\n/**\n * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`).\n *\n * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.\n */\nexport const useAppsGetBySlug = <TData = Schemas.Integration>(\n  variables: AppsGetBySlugVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.Integration, AppsGetBySlugError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Integration, AppsGetBySlugError, TData>(\n    queryKeyFn({\n      path: '/apps/{app_slug}',\n      operationId: 'appsGetBySlug',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsGetBySlug({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OauthAuthorizationsListAuthorizationsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * The client ID of your GitHub app.\n   */\n  client_id?: string;\n};\n\nexport type OauthAuthorizationsListAuthorizationsError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type OauthAuthorizationsListAuthorizationsResponse =\n  Schemas.Authorization[];\n\nexport type OauthAuthorizationsListAuthorizationsVariables = {\n  queryParams?: OauthAuthorizationsListAuthorizationsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n */\nexport const fetchOauthAuthorizationsListAuthorizations = (\n  variables: OauthAuthorizationsListAuthorizationsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OauthAuthorizationsListAuthorizationsResponse,\n    OauthAuthorizationsListAuthorizationsError,\n    undefined,\n    {},\n    OauthAuthorizationsListAuthorizationsQueryParams,\n    {}\n  >({ url: '/authorizations', method: 'get', ...variables, signal });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n */\nexport const useOauthAuthorizationsListAuthorizations = <\n  TData = OauthAuthorizationsListAuthorizationsResponse,\n>(\n  variables: OauthAuthorizationsListAuthorizationsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OauthAuthorizationsListAuthorizationsResponse,\n      OauthAuthorizationsListAuthorizationsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OauthAuthorizationsListAuthorizationsResponse,\n    OauthAuthorizationsListAuthorizationsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/authorizations',\n      operationId: 'oauthAuthorizationsListAuthorizations',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOauthAuthorizationsListAuthorizations(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OauthAuthorizationsCreateAuthorizationError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type OauthAuthorizationsCreateAuthorizationRequestBody = {\n  /**\n   * The OAuth app client key for which to create the token.\n   *\n   * @maxLength 20\n   */\n  client_id?: string;\n  /**\n   * The OAuth app client secret for which to create the token.\n   *\n   * @maxLength 40\n   */\n  client_secret?: string;\n  /**\n   * A unique string to distinguish an authorization from others created for the same client ID and user.\n   */\n  fingerprint?: string;\n  /**\n   * A note to remind you what the OAuth token is for.\n   *\n   * @example Update all gems\n   */\n  note?: string;\n  /**\n   * A URL to remind you what app the OAuth token is for.\n   */\n  note_url?: string;\n  /**\n   * A list of scopes that this authorization is in.\n   *\n   * @example public_repo\n   * @example user\n   */\n  scopes?: string[] | null;\n};\n\nexport type OauthAuthorizationsCreateAuthorizationVariables = {\n  body?: OauthAuthorizationsCreateAuthorizationRequestBody;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n *\n * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n *\n * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n *\n * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them.\n *\n * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use).\n *\n * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on).\n */\nexport const fetchOauthAuthorizationsCreateAuthorization = (\n  variables: OauthAuthorizationsCreateAuthorizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Authorization,\n    OauthAuthorizationsCreateAuthorizationError,\n    OauthAuthorizationsCreateAuthorizationRequestBody,\n    {},\n    {},\n    {}\n  >({ url: '/authorizations', method: 'post', ...variables, signal });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n *\n * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n *\n * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n *\n * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them.\n *\n * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use).\n *\n * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on).\n */\nexport const useOauthAuthorizationsCreateAuthorization = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Authorization,\n      OauthAuthorizationsCreateAuthorizationError,\n      OauthAuthorizationsCreateAuthorizationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Authorization,\n    OauthAuthorizationsCreateAuthorizationError,\n    OauthAuthorizationsCreateAuthorizationVariables\n  >(\n    (variables: OauthAuthorizationsCreateAuthorizationVariables) =>\n      fetchOauthAuthorizationsCreateAuthorization({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type OauthAuthorizationsGetOrCreateAuthorizationForAppPathParams = {\n  /**\n   * The client ID of your GitHub app.\n   */\n  clientId: string;\n};\n\nexport type OauthAuthorizationsGetOrCreateAuthorizationForAppError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 422;\n        payload: Responses.ValidationFailed;\n      }\n  >;\n\nexport type OauthAuthorizationsGetOrCreateAuthorizationForAppRequestBody = {\n  /**\n   * The OAuth app client secret for which to create the token.\n   *\n   * @maxLength 40\n   */\n  client_secret: string;\n  /**\n   * A unique string to distinguish an authorization from others created for the same client ID and user.\n   */\n  fingerprint?: string;\n  /**\n   * A note to remind you what the OAuth token is for.\n   *\n   * @example Update all gems\n   */\n  note?: string;\n  /**\n   * A URL to remind you what app the OAuth token is for.\n   */\n  note_url?: string;\n  /**\n   * A list of scopes that this authorization is in.\n   *\n   * @example public_repo\n   * @example user\n   */\n  scopes?: string[] | null;\n};\n\nexport type OauthAuthorizationsGetOrCreateAuthorizationForAppVariables = {\n  body: OauthAuthorizationsGetOrCreateAuthorizationForAppRequestBody;\n  pathParams: OauthAuthorizationsGetOrCreateAuthorizationForAppPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n *\n * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n *\n * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one.\n *\n * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n *\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n */\nexport const fetchOauthAuthorizationsGetOrCreateAuthorizationForApp = (\n  variables: OauthAuthorizationsGetOrCreateAuthorizationForAppVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Authorization,\n    OauthAuthorizationsGetOrCreateAuthorizationForAppError,\n    OauthAuthorizationsGetOrCreateAuthorizationForAppRequestBody,\n    {},\n    {},\n    OauthAuthorizationsGetOrCreateAuthorizationForAppPathParams\n  >({\n    url: '/authorizations/clients/{clientId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n *\n * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n *\n * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one.\n *\n * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n *\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n */\nexport const useOauthAuthorizationsGetOrCreateAuthorizationForApp = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Authorization,\n      OauthAuthorizationsGetOrCreateAuthorizationForAppError,\n      OauthAuthorizationsGetOrCreateAuthorizationForAppVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Authorization,\n    OauthAuthorizationsGetOrCreateAuthorizationForAppError,\n    OauthAuthorizationsGetOrCreateAuthorizationForAppVariables\n  >(\n    (variables: OauthAuthorizationsGetOrCreateAuthorizationForAppVariables) =>\n      fetchOauthAuthorizationsGetOrCreateAuthorizationForApp({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintPathParams =\n  {\n    /**\n     * The client ID of your GitHub app.\n     */\n    clientId: string;\n    fingerprint: string;\n  };\n\nexport type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintError =\n  Fetcher.ErrorWrapper<{\n    status: 422;\n    payload: Responses.ValidationFailed;\n  }>;\n\nexport type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestBody =\n  {\n    /**\n     * The OAuth app client secret for which to create the token.\n     *\n     * @maxLength 40\n     */\n    client_secret: string;\n    /**\n     * A note to remind you what the OAuth token is for.\n     *\n     * @example Update all gems\n     */\n    note?: string;\n    /**\n     * A URL to remind you what app the OAuth token is for.\n     */\n    note_url?: string;\n    /**\n     * A list of scopes that this authorization is in.\n     *\n     * @example public_repo\n     * @example user\n     */\n    scopes?: string[] | null;\n  };\n\nexport type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintVariables =\n  {\n    body: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestBody;\n    pathParams: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintPathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n *\n * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n *\n * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one.\n *\n * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n */\nexport const fetchOauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprint =\n  (\n    variables: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      Schemas.Authorization,\n      OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintError,\n      OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestBody,\n      {},\n      {},\n      OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintPathParams\n    >({\n      url: '/authorizations/clients/{clientId}/{fingerprint}',\n      method: 'put',\n      ...variables,\n      signal,\n    });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n *\n * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).\n *\n * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one.\n *\n * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n */\nexport const useOauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprint =\n  (\n    options?: Omit<\n      reactQuery.UseMutationOptions<\n        Schemas.Authorization,\n        OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintError,\n        OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintVariables\n      >,\n      'mutationFn'\n    >,\n  ) => {\n    const { fetcherOptions } = useGithubContext();\n    return reactQuery.useMutation<\n      Schemas.Authorization,\n      OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintError,\n      OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintVariables\n    >(\n      (\n        variables: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintVariables,\n      ) =>\n        fetchOauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprint({\n          ...fetcherOptions,\n          ...variables,\n        }),\n      options,\n    );\n  };\n\nexport type OauthAuthorizationsDeleteAuthorizationPathParams = {\n  /**\n   * authorization_id parameter\n   */\n  authorizationId: number;\n};\n\nexport type OauthAuthorizationsDeleteAuthorizationError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type OauthAuthorizationsDeleteAuthorizationVariables = {\n  pathParams: OauthAuthorizationsDeleteAuthorizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n */\nexport const fetchOauthAuthorizationsDeleteAuthorization = (\n  variables: OauthAuthorizationsDeleteAuthorizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OauthAuthorizationsDeleteAuthorizationError,\n    undefined,\n    {},\n    {},\n    OauthAuthorizationsDeleteAuthorizationPathParams\n  >({\n    url: '/authorizations/{authorizationId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n */\nexport const useOauthAuthorizationsDeleteAuthorization = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OauthAuthorizationsDeleteAuthorizationError,\n      OauthAuthorizationsDeleteAuthorizationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OauthAuthorizationsDeleteAuthorizationError,\n    OauthAuthorizationsDeleteAuthorizationVariables\n  >(\n    (variables: OauthAuthorizationsDeleteAuthorizationVariables) =>\n      fetchOauthAuthorizationsDeleteAuthorization({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type OauthAuthorizationsGetAuthorizationPathParams = {\n  /**\n   * authorization_id parameter\n   */\n  authorizationId: number;\n};\n\nexport type OauthAuthorizationsGetAuthorizationError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type OauthAuthorizationsGetAuthorizationVariables = {\n  pathParams: OauthAuthorizationsGetAuthorizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n */\nexport const fetchOauthAuthorizationsGetAuthorization = (\n  variables: OauthAuthorizationsGetAuthorizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Authorization,\n    OauthAuthorizationsGetAuthorizationError,\n    undefined,\n    {},\n    {},\n    OauthAuthorizationsGetAuthorizationPathParams\n  >({\n    url: '/authorizations/{authorizationId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n */\nexport const useOauthAuthorizationsGetAuthorization = <\n  TData = Schemas.Authorization,\n>(\n  variables: OauthAuthorizationsGetAuthorizationVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Authorization,\n      OauthAuthorizationsGetAuthorizationError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Authorization,\n    OauthAuthorizationsGetAuthorizationError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/authorizations/{authorization_id}',\n      operationId: 'oauthAuthorizationsGetAuthorization',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOauthAuthorizationsGetAuthorization(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OauthAuthorizationsUpdateAuthorizationPathParams = {\n  /**\n   * authorization_id parameter\n   */\n  authorizationId: number;\n};\n\nexport type OauthAuthorizationsUpdateAuthorizationError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type OauthAuthorizationsUpdateAuthorizationRequestBody = {\n  /**\n   * A list of scopes to add to this authorization.\n   */\n  add_scopes?: string[];\n  /**\n   * A unique string to distinguish an authorization from others created for the same client ID and user.\n   */\n  fingerprint?: string;\n  /**\n   * A note to remind you what the OAuth token is for.\n   *\n   * @example Update all gems\n   */\n  note?: string;\n  /**\n   * A URL to remind you what app the OAuth token is for.\n   */\n  note_url?: string;\n  /**\n   * A list of scopes to remove from this authorization.\n   */\n  remove_scopes?: string[];\n  /**\n   * A list of scopes that this authorization is in.\n   *\n   * @example public_repo\n   * @example user\n   */\n  scopes?: string[] | null;\n};\n\nexport type OauthAuthorizationsUpdateAuthorizationVariables = {\n  body?: OauthAuthorizationsUpdateAuthorizationRequestBody;\n  pathParams: OauthAuthorizationsUpdateAuthorizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n *\n * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n *\n * You can only send one of these scope keys at a time.\n */\nexport const fetchOauthAuthorizationsUpdateAuthorization = (\n  variables: OauthAuthorizationsUpdateAuthorizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Authorization,\n    OauthAuthorizationsUpdateAuthorizationError,\n    OauthAuthorizationsUpdateAuthorizationRequestBody,\n    {},\n    {},\n    OauthAuthorizationsUpdateAuthorizationPathParams\n  >({\n    url: '/authorizations/{authorizationId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).\n *\n * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see \"[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication).\"\n *\n * You can only send one of these scope keys at a time.\n */\nexport const useOauthAuthorizationsUpdateAuthorization = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Authorization,\n      OauthAuthorizationsUpdateAuthorizationError,\n      OauthAuthorizationsUpdateAuthorizationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Authorization,\n    OauthAuthorizationsUpdateAuthorizationError,\n    OauthAuthorizationsUpdateAuthorizationVariables\n  >(\n    (variables: OauthAuthorizationsUpdateAuthorizationVariables) =>\n      fetchOauthAuthorizationsUpdateAuthorization({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type CodesOfConductGetAllCodesOfConductError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type CodesOfConductGetAllCodesOfConductResponse =\n  Schemas.CodeOfConduct[];\n\nexport type CodesOfConductGetAllCodesOfConductVariables =\n  GithubContext['fetcherOptions'];\n\nexport const fetchCodesOfConductGetAllCodesOfConduct = (\n  variables: CodesOfConductGetAllCodesOfConductVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    CodesOfConductGetAllCodesOfConductResponse,\n    CodesOfConductGetAllCodesOfConductError,\n    undefined,\n    {},\n    {},\n    {}\n  >({ url: '/codes_of_conduct', method: 'get', ...variables, signal });\n\nexport const useCodesOfConductGetAllCodesOfConduct = <\n  TData = CodesOfConductGetAllCodesOfConductResponse,\n>(\n  variables: CodesOfConductGetAllCodesOfConductVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      CodesOfConductGetAllCodesOfConductResponse,\n      CodesOfConductGetAllCodesOfConductError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    CodesOfConductGetAllCodesOfConductResponse,\n    CodesOfConductGetAllCodesOfConductError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/codes_of_conduct',\n      operationId: 'codesOfConductGetAllCodesOfConduct',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchCodesOfConductGetAllCodesOfConduct(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type CodesOfConductGetConductCodePathParams = {\n  key: string;\n};\n\nexport type CodesOfConductGetConductCodeError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type CodesOfConductGetConductCodeVariables = {\n  pathParams: CodesOfConductGetConductCodePathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchCodesOfConductGetConductCode = (\n  variables: CodesOfConductGetConductCodeVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CodeOfConduct,\n    CodesOfConductGetConductCodeError,\n    undefined,\n    {},\n    {},\n    CodesOfConductGetConductCodePathParams\n  >({ url: '/codes_of_conduct/{key}', method: 'get', ...variables, signal });\n\nexport const useCodesOfConductGetConductCode = <TData = Schemas.CodeOfConduct>(\n  variables: CodesOfConductGetConductCodeVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CodeOfConduct,\n      CodesOfConductGetConductCodeError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.CodeOfConduct,\n    CodesOfConductGetConductCodeError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/codes_of_conduct/{key}',\n      operationId: 'codesOfConductGetConductCode',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchCodesOfConductGetConductCode(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsCreateContentAttachmentPathParams = {\n  contentReferenceId: number;\n};\n\nexport type AppsCreateContentAttachmentError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type AppsCreateContentAttachmentRequestBody = {\n  /**\n   * The body of the attachment\n   *\n   * @example Body of the attachment\n   * @maxLength 262144\n   */\n  body: string;\n  /**\n   * The title of the attachment\n   *\n   * @example Title of the attachment\n   * @maxLength 1024\n   */\n  title: string;\n};\n\nexport type AppsCreateContentAttachmentVariables = {\n  body: AppsCreateContentAttachmentRequestBody;\n  pathParams: AppsCreateContentAttachmentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment.\n *\n * The app must create a content attachment within six hours of the content reference URL being posted. See \"[Using content attachments](https://docs.github.com/apps/using-content-attachments/)\" for details about content attachments.\n *\n * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.\n */\nexport const fetchAppsCreateContentAttachment = (\n  variables: AppsCreateContentAttachmentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ContentReferenceAttachment,\n    AppsCreateContentAttachmentError,\n    AppsCreateContentAttachmentRequestBody,\n    {},\n    {},\n    AppsCreateContentAttachmentPathParams\n  >({\n    url: '/content_references/{contentReferenceId}/attachments',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://docs.github.com/webhooks/event-payloads/#content_reference) to create an attachment.\n *\n * The app must create a content attachment within six hours of the content reference URL being posted. See \"[Using content attachments](https://docs.github.com/apps/using-content-attachments/)\" for details about content attachments.\n *\n * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.\n */\nexport const useAppsCreateContentAttachment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ContentReferenceAttachment,\n      AppsCreateContentAttachmentError,\n      AppsCreateContentAttachmentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ContentReferenceAttachment,\n    AppsCreateContentAttachmentError,\n    AppsCreateContentAttachmentVariables\n  >(\n    (variables: AppsCreateContentAttachmentVariables) =>\n      fetchAppsCreateContentAttachment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type EmojisGetError = Fetcher.ErrorWrapper<{\n  status: 304;\n  payload: Responses.NotModified;\n}>;\n\nexport type EmojisGetResponse = {\n  [key: string]: string;\n};\n\nexport type EmojisGetVariables = GithubContext['fetcherOptions'];\n\n/**\n * Lists all the emojis available to use on GitHub.\n */\nexport const fetchEmojisGet = (\n  variables: EmojisGetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<EmojisGetResponse, EmojisGetError, undefined, {}, {}, {}>({\n    url: '/emojis',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all the emojis available to use on GitHub.\n */\nexport const useEmojisGet = <TData = EmojisGetResponse>(\n  variables: EmojisGetVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<EmojisGetResponse, EmojisGetError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<EmojisGetResponse, EmojisGetError, TData>(\n    queryKeyFn({ path: '/emojis', operationId: 'emojisGet', variables }),\n    ({ signal }) => fetchEmojisGet({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type EnterpriseAdminGetGithubActionsPermissionsEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminGetGithubActionsPermissionsEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminGetGithubActionsPermissionsEnterpriseVariables = {\n  pathParams: EnterpriseAdminGetGithubActionsPermissionsEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminGetGithubActionsPermissionsEnterprise = (\n  variables: EnterpriseAdminGetGithubActionsPermissionsEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ActionsEnterprisePermissions,\n    EnterpriseAdminGetGithubActionsPermissionsEnterpriseError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminGetGithubActionsPermissionsEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/permissions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminGetGithubActionsPermissionsEnterprise = <\n  TData = Schemas.ActionsEnterprisePermissions,\n>(\n  variables: EnterpriseAdminGetGithubActionsPermissionsEnterpriseVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ActionsEnterprisePermissions,\n      EnterpriseAdminGetGithubActionsPermissionsEnterpriseError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ActionsEnterprisePermissions,\n    EnterpriseAdminGetGithubActionsPermissionsEnterpriseError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/enterprises/{enterprise}/actions/permissions',\n      operationId: 'enterpriseAdminGetGithubActionsPermissionsEnterprise',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchEnterpriseAdminGetGithubActionsPermissionsEnterprise(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type EnterpriseAdminSetGithubActionsPermissionsEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminSetGithubActionsPermissionsEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminSetGithubActionsPermissionsEnterpriseRequestBody = {\n  allowed_actions?: Schemas.AllowedActions;\n  enabled_organizations: Schemas.EnabledOrganizations;\n};\n\nexport type EnterpriseAdminSetGithubActionsPermissionsEnterpriseVariables = {\n  body: EnterpriseAdminSetGithubActionsPermissionsEnterpriseRequestBody;\n  pathParams: EnterpriseAdminSetGithubActionsPermissionsEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminSetGithubActionsPermissionsEnterprise = (\n  variables: EnterpriseAdminSetGithubActionsPermissionsEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    EnterpriseAdminSetGithubActionsPermissionsEnterpriseError,\n    EnterpriseAdminSetGithubActionsPermissionsEnterpriseRequestBody,\n    {},\n    {},\n    EnterpriseAdminSetGithubActionsPermissionsEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/permissions',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Sets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminSetGithubActionsPermissionsEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      EnterpriseAdminSetGithubActionsPermissionsEnterpriseError,\n      EnterpriseAdminSetGithubActionsPermissionsEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    EnterpriseAdminSetGithubActionsPermissionsEnterpriseError,\n    EnterpriseAdminSetGithubActionsPermissionsEnterpriseVariables\n  >(\n    (\n      variables: EnterpriseAdminSetGithubActionsPermissionsEnterpriseVariables,\n    ) =>\n      fetchEnterpriseAdminSetGithubActionsPermissionsEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n  };\n\nexport type EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseQueryParams =\n  {\n    /**\n     * Results per page (max 100).\n     *\n     * @default 30\n     */\n    per_page?: number;\n    /**\n     * Page number of the results to fetch.\n     *\n     * @default 1\n     */\n    page?: number;\n  };\n\nexport type EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseResponse =\n  {\n    organizations: Schemas.OrganizationSimple[];\n    total_count: number;\n  };\n\nexport type EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseVariables =\n  {\n    pathParams: EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterprisePathParams;\n    queryParams?: EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseQueryParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterprise =\n  (\n    variables: EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseResponse,\n      EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseError,\n      undefined,\n      {},\n      EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseQueryParams,\n      EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterprisePathParams\n    >({\n      url: '/enterprises/{enterprise}/actions/permissions/organizations',\n      method: 'get',\n      ...variables,\n      signal,\n    });\n\n/**\n * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterprise =\n  <\n    TData = EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseResponse,\n  >(\n    variables: EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseVariables,\n    options?: Omit<\n      reactQuery.UseQueryOptions<\n        EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseResponse,\n        EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseError,\n        TData\n      >,\n      'queryKey' | 'queryFn'\n    >,\n  ) => {\n    const { fetcherOptions, queryOptions, queryKeyFn } =\n      useGithubContext(options);\n    return reactQuery.useQuery<\n      EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseResponse,\n      EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseError,\n      TData\n    >(\n      queryKeyFn({\n        path: '/enterprises/{enterprise}/actions/permissions/organizations',\n        operationId:\n          'enterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterprise',\n        variables,\n      }),\n      ({ signal }) =>\n        fetchEnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterprise(\n          { ...fetcherOptions, ...variables },\n          signal,\n        ),\n      {\n        ...options,\n        ...queryOptions,\n      },\n    );\n  };\n\nexport type EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n  };\n\nexport type EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterpriseRequestBody =\n  {\n    /**\n     * List of organization IDs to enable for GitHub Actions.\n     */\n    selected_organization_ids: number[];\n  };\n\nexport type EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterpriseVariables =\n  {\n    body: EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterpriseRequestBody;\n    pathParams: EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterprisePathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterprise =\n  (\n    variables: EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterpriseVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      undefined,\n      EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterpriseError,\n      EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterpriseRequestBody,\n      {},\n      {},\n      EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterprisePathParams\n    >({\n      url: '/enterprises/{enterprise}/actions/permissions/organizations',\n      method: 'put',\n      ...variables,\n      signal,\n    });\n\n/**\n * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterprise =\n  (\n    options?: Omit<\n      reactQuery.UseMutationOptions<\n        undefined,\n        EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterpriseError,\n        EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterpriseVariables\n      >,\n      'mutationFn'\n    >,\n  ) => {\n    const { fetcherOptions } = useGithubContext();\n    return reactQuery.useMutation<\n      undefined,\n      EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterpriseError,\n      EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterpriseVariables\n    >(\n      (\n        variables: EnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterpriseVariables,\n      ) =>\n        fetchEnterpriseAdminSetSelectedOrganizationsEnabledGithubActionsEnterprise(\n          { ...fetcherOptions, ...variables },\n        ),\n      options,\n    );\n  };\n\nexport type EnterpriseAdminDisableSelectedOrganizationGithubActionsEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Unique identifier of an organization.\n     */\n    orgId: number;\n  };\n\nexport type EnterpriseAdminDisableSelectedOrganizationGithubActionsEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminDisableSelectedOrganizationGithubActionsEnterpriseVariables =\n  {\n    pathParams: EnterpriseAdminDisableSelectedOrganizationGithubActionsEnterprisePathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminDisableSelectedOrganizationGithubActionsEnterprise =\n  (\n    variables: EnterpriseAdminDisableSelectedOrganizationGithubActionsEnterpriseVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      undefined,\n      EnterpriseAdminDisableSelectedOrganizationGithubActionsEnterpriseError,\n      undefined,\n      {},\n      {},\n      EnterpriseAdminDisableSelectedOrganizationGithubActionsEnterprisePathParams\n    >({\n      url: '/enterprises/{enterprise}/actions/permissions/organizations/{orgId}',\n      method: 'delete',\n      ...variables,\n      signal,\n    });\n\n/**\n * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminDisableSelectedOrganizationGithubActionsEnterprise =\n  (\n    options?: Omit<\n      reactQuery.UseMutationOptions<\n        undefined,\n        EnterpriseAdminDisableSelectedOrganizationGithubActionsEnterpriseError,\n        EnterpriseAdminDisableSelectedOrganizationGithubActionsEnterpriseVariables\n      >,\n      'mutationFn'\n    >,\n  ) => {\n    const { fetcherOptions } = useGithubContext();\n    return reactQuery.useMutation<\n      undefined,\n      EnterpriseAdminDisableSelectedOrganizationGithubActionsEnterpriseError,\n      EnterpriseAdminDisableSelectedOrganizationGithubActionsEnterpriseVariables\n    >(\n      (\n        variables: EnterpriseAdminDisableSelectedOrganizationGithubActionsEnterpriseVariables,\n      ) =>\n        fetchEnterpriseAdminDisableSelectedOrganizationGithubActionsEnterprise({\n          ...fetcherOptions,\n          ...variables,\n        }),\n      options,\n    );\n  };\n\nexport type EnterpriseAdminEnableSelectedOrganizationGithubActionsEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Unique identifier of an organization.\n     */\n    orgId: number;\n  };\n\nexport type EnterpriseAdminEnableSelectedOrganizationGithubActionsEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminEnableSelectedOrganizationGithubActionsEnterpriseVariables =\n  {\n    pathParams: EnterpriseAdminEnableSelectedOrganizationGithubActionsEnterprisePathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminEnableSelectedOrganizationGithubActionsEnterprise =\n  (\n    variables: EnterpriseAdminEnableSelectedOrganizationGithubActionsEnterpriseVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      undefined,\n      EnterpriseAdminEnableSelectedOrganizationGithubActionsEnterpriseError,\n      undefined,\n      {},\n      {},\n      EnterpriseAdminEnableSelectedOrganizationGithubActionsEnterprisePathParams\n    >({\n      url: '/enterprises/{enterprise}/actions/permissions/organizations/{orgId}',\n      method: 'put',\n      ...variables,\n      signal,\n    });\n\n/**\n * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminEnableSelectedOrganizationGithubActionsEnterprise =\n  (\n    options?: Omit<\n      reactQuery.UseMutationOptions<\n        undefined,\n        EnterpriseAdminEnableSelectedOrganizationGithubActionsEnterpriseError,\n        EnterpriseAdminEnableSelectedOrganizationGithubActionsEnterpriseVariables\n      >,\n      'mutationFn'\n    >,\n  ) => {\n    const { fetcherOptions } = useGithubContext();\n    return reactQuery.useMutation<\n      undefined,\n      EnterpriseAdminEnableSelectedOrganizationGithubActionsEnterpriseError,\n      EnterpriseAdminEnableSelectedOrganizationGithubActionsEnterpriseVariables\n    >(\n      (\n        variables: EnterpriseAdminEnableSelectedOrganizationGithubActionsEnterpriseVariables,\n      ) =>\n        fetchEnterpriseAdminEnableSelectedOrganizationGithubActionsEnterprise({\n          ...fetcherOptions,\n          ...variables,\n        }),\n      options,\n    );\n  };\n\nexport type EnterpriseAdminGetAllowedActionsEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminGetAllowedActionsEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminGetAllowedActionsEnterpriseVariables = {\n  pathParams: EnterpriseAdminGetAllowedActionsEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminGetAllowedActionsEnterprise = (\n  variables: EnterpriseAdminGetAllowedActionsEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.SelectedActions,\n    EnterpriseAdminGetAllowedActionsEnterpriseError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminGetAllowedActionsEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/permissions/selected-actions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminGetAllowedActionsEnterprise = <\n  TData = Schemas.SelectedActions,\n>(\n  variables: EnterpriseAdminGetAllowedActionsEnterpriseVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.SelectedActions,\n      EnterpriseAdminGetAllowedActionsEnterpriseError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.SelectedActions,\n    EnterpriseAdminGetAllowedActionsEnterpriseError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/enterprises/{enterprise}/actions/permissions/selected-actions',\n      operationId: 'enterpriseAdminGetAllowedActionsEnterprise',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchEnterpriseAdminGetAllowedActionsEnterprise(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type EnterpriseAdminSetAllowedActionsEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminSetAllowedActionsEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminSetAllowedActionsEnterpriseVariables = {\n  body: Schemas.SelectedActions;\n  pathParams: EnterpriseAdminSetAllowedActionsEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminSetAllowedActionsEnterprise = (\n  variables: EnterpriseAdminSetAllowedActionsEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    EnterpriseAdminSetAllowedActionsEnterpriseError,\n    Schemas.SelectedActions,\n    {},\n    {},\n    EnterpriseAdminSetAllowedActionsEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/permissions/selected-actions',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminSetAllowedActionsEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      EnterpriseAdminSetAllowedActionsEnterpriseError,\n      EnterpriseAdminSetAllowedActionsEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    EnterpriseAdminSetAllowedActionsEnterpriseError,\n    EnterpriseAdminSetAllowedActionsEnterpriseVariables\n  >(\n    (variables: EnterpriseAdminSetAllowedActionsEnterpriseVariables) =>\n      fetchEnterpriseAdminSetAllowedActionsEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminListSelfHostedRunnerGroupsForEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseQueryParams =\n  {\n    /**\n     * Results per page (max 100).\n     *\n     * @default 30\n     */\n    per_page?: number;\n    /**\n     * Page number of the results to fetch.\n     *\n     * @default 1\n     */\n    page?: number;\n  };\n\nexport type EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseResponse = {\n  runner_groups: Schemas.RunnerGroupsEnterprise[];\n  total_count: number;\n};\n\nexport type EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseVariables = {\n  pathParams: EnterpriseAdminListSelfHostedRunnerGroupsForEnterprisePathParams;\n  queryParams?: EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all self-hosted runner groups for an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminListSelfHostedRunnerGroupsForEnterprise = (\n  variables: EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseResponse,\n    EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseError,\n    undefined,\n    {},\n    EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseQueryParams,\n    EnterpriseAdminListSelfHostedRunnerGroupsForEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runner-groups',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all self-hosted runner groups for an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminListSelfHostedRunnerGroupsForEnterprise = <\n  TData = EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseResponse,\n>(\n  variables: EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseResponse,\n      EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseResponse,\n    EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/enterprises/{enterprise}/actions/runner-groups',\n      operationId: 'enterpriseAdminListSelfHostedRunnerGroupsForEnterprise',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchEnterpriseAdminListSelfHostedRunnerGroupsForEnterprise(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type EnterpriseAdminCreateSelfHostedRunnerGroupForEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n  };\n\nexport type EnterpriseAdminCreateSelfHostedRunnerGroupForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminCreateSelfHostedRunnerGroupForEnterpriseRequestBody =\n  {\n    /**\n     * Name of the runner group.\n     */\n    name: string;\n    /**\n     * List of runner IDs to add to the runner group.\n     */\n    runners?: number[];\n    /**\n     * List of organization IDs that can access the runner group.\n     */\n    selected_organization_ids?: number[];\n    /**\n     * Visibility of a runner group. You can select all organizations or select individual organization. Can be one of: `all` or `selected`\n     */\n    visibility?: 'selected' | 'all';\n  };\n\nexport type EnterpriseAdminCreateSelfHostedRunnerGroupForEnterpriseVariables = {\n  body: EnterpriseAdminCreateSelfHostedRunnerGroupForEnterpriseRequestBody;\n  pathParams: EnterpriseAdminCreateSelfHostedRunnerGroupForEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates a new self-hosted runner group for an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminCreateSelfHostedRunnerGroupForEnterprise = (\n  variables: EnterpriseAdminCreateSelfHostedRunnerGroupForEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RunnerGroupsEnterprise,\n    EnterpriseAdminCreateSelfHostedRunnerGroupForEnterpriseError,\n    EnterpriseAdminCreateSelfHostedRunnerGroupForEnterpriseRequestBody,\n    {},\n    {},\n    EnterpriseAdminCreateSelfHostedRunnerGroupForEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runner-groups',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates a new self-hosted runner group for an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminCreateSelfHostedRunnerGroupForEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.RunnerGroupsEnterprise,\n      EnterpriseAdminCreateSelfHostedRunnerGroupForEnterpriseError,\n      EnterpriseAdminCreateSelfHostedRunnerGroupForEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.RunnerGroupsEnterprise,\n    EnterpriseAdminCreateSelfHostedRunnerGroupForEnterpriseError,\n    EnterpriseAdminCreateSelfHostedRunnerGroupForEnterpriseVariables\n  >(\n    (\n      variables: EnterpriseAdminCreateSelfHostedRunnerGroupForEnterpriseVariables,\n    ) =>\n      fetchEnterpriseAdminCreateSelfHostedRunnerGroupForEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Unique identifier of the self-hosted runner group.\n     */\n    runnerGroupId: number;\n  };\n\nexport type EnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterpriseVariables =\n  {\n    pathParams: EnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterprisePathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a self-hosted runner group for an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterprise = (\n  variables: EnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    EnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterpriseError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runner-groups/{runnerGroupId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a self-hosted runner group for an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      EnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterpriseError,\n      EnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    EnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterpriseError,\n    EnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterpriseVariables\n  >(\n    (\n      variables: EnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterpriseVariables,\n    ) =>\n      fetchEnterpriseAdminDeleteSelfHostedRunnerGroupFromEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminGetSelfHostedRunnerGroupForEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n};\n\nexport type EnterpriseAdminGetSelfHostedRunnerGroupForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminGetSelfHostedRunnerGroupForEnterpriseVariables = {\n  pathParams: EnterpriseAdminGetSelfHostedRunnerGroupForEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific self-hosted runner group for an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminGetSelfHostedRunnerGroupForEnterprise = (\n  variables: EnterpriseAdminGetSelfHostedRunnerGroupForEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RunnerGroupsEnterprise,\n    EnterpriseAdminGetSelfHostedRunnerGroupForEnterpriseError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminGetSelfHostedRunnerGroupForEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runner-groups/{runnerGroupId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific self-hosted runner group for an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminGetSelfHostedRunnerGroupForEnterprise = <\n  TData = Schemas.RunnerGroupsEnterprise,\n>(\n  variables: EnterpriseAdminGetSelfHostedRunnerGroupForEnterpriseVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.RunnerGroupsEnterprise,\n      EnterpriseAdminGetSelfHostedRunnerGroupForEnterpriseError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.RunnerGroupsEnterprise,\n    EnterpriseAdminGetSelfHostedRunnerGroupForEnterpriseError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}',\n      operationId: 'enterpriseAdminGetSelfHostedRunnerGroupForEnterprise',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchEnterpriseAdminGetSelfHostedRunnerGroupForEnterprise(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Unique identifier of the self-hosted runner group.\n     */\n    runnerGroupId: number;\n  };\n\nexport type EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterpriseRequestBody =\n  {\n    /**\n     * Name of the runner group.\n     */\n    name?: string;\n    /**\n     * Visibility of a runner group. You can select all organizations or select individual organizations. Can be one of: `all` or `selected`\n     *\n     * @default all\n     */\n    visibility?: 'selected' | 'all';\n  };\n\nexport type EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterpriseVariables = {\n  body?: EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterpriseRequestBody;\n  pathParams: EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminUpdateSelfHostedRunnerGroupForEnterprise = (\n  variables: EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RunnerGroupsEnterprise,\n    EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterpriseError,\n    EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterpriseRequestBody,\n    {},\n    {},\n    EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runner-groups/{runnerGroupId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminUpdateSelfHostedRunnerGroupForEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.RunnerGroupsEnterprise,\n      EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterpriseError,\n      EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.RunnerGroupsEnterprise,\n    EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterpriseError,\n    EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterpriseVariables\n  >(\n    (\n      variables: EnterpriseAdminUpdateSelfHostedRunnerGroupForEnterpriseVariables,\n    ) =>\n      fetchEnterpriseAdminUpdateSelfHostedRunnerGroupForEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Unique identifier of the self-hosted runner group.\n     */\n    runnerGroupId: number;\n  };\n\nexport type EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseQueryParams =\n  {\n    /**\n     * Results per page (max 100).\n     *\n     * @default 30\n     */\n    per_page?: number;\n    /**\n     * Page number of the results to fetch.\n     *\n     * @default 1\n     */\n    page?: number;\n  };\n\nexport type EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseResponse =\n  {\n    organizations: Schemas.OrganizationSimple[];\n    total_count: number;\n  };\n\nexport type EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables =\n  {\n    pathParams: EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterprisePathParams;\n    queryParams?: EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseQueryParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Lists the organizations with access to a self-hosted runner group.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterprise =\n  (\n    variables: EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseResponse,\n      EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseError,\n      undefined,\n      {},\n      EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseQueryParams,\n      EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterprisePathParams\n    >({\n      url: '/enterprises/{enterprise}/actions/runner-groups/{runnerGroupId}/organizations',\n      method: 'get',\n      ...variables,\n      signal,\n    });\n\n/**\n * Lists the organizations with access to a self-hosted runner group.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterprise =\n  <\n    TData = EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseResponse,\n  >(\n    variables: EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables,\n    options?: Omit<\n      reactQuery.UseQueryOptions<\n        EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseResponse,\n        EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseError,\n        TData\n      >,\n      'queryKey' | 'queryFn'\n    >,\n  ) => {\n    const { fetcherOptions, queryOptions, queryKeyFn } =\n      useGithubContext(options);\n    return reactQuery.useQuery<\n      EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseResponse,\n      EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseError,\n      TData\n    >(\n      queryKeyFn({\n        path: '/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations',\n        operationId:\n          'enterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterprise',\n        variables,\n      }),\n      ({ signal }) =>\n        fetchEnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterprise(\n          { ...fetcherOptions, ...variables },\n          signal,\n        ),\n      {\n        ...options,\n        ...queryOptions,\n      },\n    );\n  };\n\nexport type EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Unique identifier of the self-hosted runner group.\n     */\n    runnerGroupId: number;\n  };\n\nexport type EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterpriseRequestBody =\n  {\n    /**\n     * List of organization IDs that can access the runner group.\n     */\n    selected_organization_ids: number[];\n  };\n\nexport type EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables =\n  {\n    body: EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterpriseRequestBody;\n    pathParams: EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterprisePathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterprise =\n  (\n    variables: EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      undefined,\n      EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterpriseError,\n      EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterpriseRequestBody,\n      {},\n      {},\n      EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterprisePathParams\n    >({\n      url: '/enterprises/{enterprise}/actions/runner-groups/{runnerGroupId}/organizations',\n      method: 'put',\n      ...variables,\n      signal,\n    });\n\n/**\n * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterprise =\n  (\n    options?: Omit<\n      reactQuery.UseMutationOptions<\n        undefined,\n        EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterpriseError,\n        EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables\n      >,\n      'mutationFn'\n    >,\n  ) => {\n    const { fetcherOptions } = useGithubContext();\n    return reactQuery.useMutation<\n      undefined,\n      EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterpriseError,\n      EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables\n    >(\n      (\n        variables: EnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables,\n      ) =>\n        fetchEnterpriseAdminSetOrgAccessToSelfHostedRunnerGroupInEnterprise({\n          ...fetcherOptions,\n          ...variables,\n        }),\n      options,\n    );\n  };\n\nexport type EnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Unique identifier of the self-hosted runner group.\n     */\n    runnerGroupId: number;\n    /**\n     * Unique identifier of an organization.\n     */\n    orgId: number;\n  };\n\nexport type EnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables =\n  {\n    pathParams: EnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterprisePathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterprise =\n  (\n    variables: EnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      undefined,\n      EnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterpriseError,\n      undefined,\n      {},\n      {},\n      EnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterprisePathParams\n    >({\n      url: '/enterprises/{enterprise}/actions/runner-groups/{runnerGroupId}/organizations/{orgId}',\n      method: 'delete',\n      ...variables,\n      signal,\n    });\n\n/**\n * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterprise =\n  (\n    options?: Omit<\n      reactQuery.UseMutationOptions<\n        undefined,\n        EnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterpriseError,\n        EnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables\n      >,\n      'mutationFn'\n    >,\n  ) => {\n    const { fetcherOptions } = useGithubContext();\n    return reactQuery.useMutation<\n      undefined,\n      EnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterpriseError,\n      EnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables\n    >(\n      (\n        variables: EnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables,\n      ) =>\n        fetchEnterpriseAdminRemoveOrgAccessToSelfHostedRunnerGroupInEnterprise({\n          ...fetcherOptions,\n          ...variables,\n        }),\n      options,\n    );\n  };\n\nexport type EnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Unique identifier of the self-hosted runner group.\n     */\n    runnerGroupId: number;\n    /**\n     * Unique identifier of an organization.\n     */\n    orgId: number;\n  };\n\nexport type EnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables =\n  {\n    pathParams: EnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterprisePathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterprise =\n  (\n    variables: EnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      undefined,\n      EnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterpriseError,\n      undefined,\n      {},\n      {},\n      EnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterprisePathParams\n    >({\n      url: '/enterprises/{enterprise}/actions/runner-groups/{runnerGroupId}/organizations/{orgId}',\n      method: 'put',\n      ...variables,\n      signal,\n    });\n\n/**\n * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise).\"\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterprise =\n  (\n    options?: Omit<\n      reactQuery.UseMutationOptions<\n        undefined,\n        EnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterpriseError,\n        EnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables\n      >,\n      'mutationFn'\n    >,\n  ) => {\n    const { fetcherOptions } = useGithubContext();\n    return reactQuery.useMutation<\n      undefined,\n      EnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterpriseError,\n      EnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables\n    >(\n      (\n        variables: EnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables,\n      ) =>\n        fetchEnterpriseAdminAddOrgAccessToSelfHostedRunnerGroupInEnterprise({\n          ...fetcherOptions,\n          ...variables,\n        }),\n      options,\n    );\n  };\n\nexport type EnterpriseAdminListSelfHostedRunnersInGroupForEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Unique identifier of the self-hosted runner group.\n     */\n    runnerGroupId: number;\n  };\n\nexport type EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseQueryParams =\n  {\n    /**\n     * Results per page (max 100).\n     *\n     * @default 30\n     */\n    per_page?: number;\n    /**\n     * Page number of the results to fetch.\n     *\n     * @default 1\n     */\n    page?: number;\n  };\n\nexport type EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseResponse = {\n  runners: Schemas.Runner[];\n  total_count: number;\n};\n\nexport type EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseVariables =\n  {\n    pathParams: EnterpriseAdminListSelfHostedRunnersInGroupForEnterprisePathParams;\n    queryParams?: EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseQueryParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Lists the self-hosted runners that are in a specific enterprise group.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminListSelfHostedRunnersInGroupForEnterprise = (\n  variables: EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseResponse,\n    EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseError,\n    undefined,\n    {},\n    EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseQueryParams,\n    EnterpriseAdminListSelfHostedRunnersInGroupForEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runner-groups/{runnerGroupId}/runners',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the self-hosted runners that are in a specific enterprise group.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminListSelfHostedRunnersInGroupForEnterprise = <\n  TData = EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseResponse,\n>(\n  variables: EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseResponse,\n      EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseResponse,\n    EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners',\n      operationId: 'enterpriseAdminListSelfHostedRunnersInGroupForEnterprise',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchEnterpriseAdminListSelfHostedRunnersInGroupForEnterprise(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type EnterpriseAdminSetSelfHostedRunnersInGroupForEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Unique identifier of the self-hosted runner group.\n     */\n    runnerGroupId: number;\n  };\n\nexport type EnterpriseAdminSetSelfHostedRunnersInGroupForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminSetSelfHostedRunnersInGroupForEnterpriseRequestBody =\n  {\n    /**\n     * List of runner IDs to add to the runner group.\n     */\n    runners: number[];\n  };\n\nexport type EnterpriseAdminSetSelfHostedRunnersInGroupForEnterpriseVariables = {\n  body: EnterpriseAdminSetSelfHostedRunnersInGroupForEnterpriseRequestBody;\n  pathParams: EnterpriseAdminSetSelfHostedRunnersInGroupForEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Replaces the list of self-hosted runners that are part of an enterprise runner group.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminSetSelfHostedRunnersInGroupForEnterprise = (\n  variables: EnterpriseAdminSetSelfHostedRunnersInGroupForEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    EnterpriseAdminSetSelfHostedRunnersInGroupForEnterpriseError,\n    EnterpriseAdminSetSelfHostedRunnersInGroupForEnterpriseRequestBody,\n    {},\n    {},\n    EnterpriseAdminSetSelfHostedRunnersInGroupForEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runner-groups/{runnerGroupId}/runners',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Replaces the list of self-hosted runners that are part of an enterprise runner group.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminSetSelfHostedRunnersInGroupForEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      EnterpriseAdminSetSelfHostedRunnersInGroupForEnterpriseError,\n      EnterpriseAdminSetSelfHostedRunnersInGroupForEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    EnterpriseAdminSetSelfHostedRunnersInGroupForEnterpriseError,\n    EnterpriseAdminSetSelfHostedRunnersInGroupForEnterpriseVariables\n  >(\n    (\n      variables: EnterpriseAdminSetSelfHostedRunnersInGroupForEnterpriseVariables,\n    ) =>\n      fetchEnterpriseAdminSetSelfHostedRunnersInGroupForEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterprisePathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Unique identifier of the self-hosted runner group.\n     */\n    runnerGroupId: number;\n    /**\n     * Unique identifier of the self-hosted runner.\n     */\n    runnerId: number;\n  };\n\nexport type EnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterpriseVariables =\n  {\n    pathParams: EnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterprisePathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterprise =\n  (\n    variables: EnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterpriseVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      undefined,\n      EnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterpriseError,\n      undefined,\n      {},\n      {},\n      EnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterprisePathParams\n    >({\n      url: '/enterprises/{enterprise}/actions/runner-groups/{runnerGroupId}/runners/{runnerId}',\n      method: 'delete',\n      ...variables,\n      signal,\n    });\n\n/**\n * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      EnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterpriseError,\n      EnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    EnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterpriseError,\n    EnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterpriseVariables\n  >(\n    (\n      variables: EnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterpriseVariables,\n    ) =>\n      fetchEnterpriseAdminRemoveSelfHostedRunnerFromGroupForEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminAddSelfHostedRunnerToGroupForEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n  /**\n   * Unique identifier of the self-hosted runner.\n   */\n  runnerId: number;\n};\n\nexport type EnterpriseAdminAddSelfHostedRunnerToGroupForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminAddSelfHostedRunnerToGroupForEnterpriseVariables = {\n  pathParams: EnterpriseAdminAddSelfHostedRunnerToGroupForEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Adds a self-hosted runner to a runner group configured in an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise`\n * scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminAddSelfHostedRunnerToGroupForEnterprise = (\n  variables: EnterpriseAdminAddSelfHostedRunnerToGroupForEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    EnterpriseAdminAddSelfHostedRunnerToGroupForEnterpriseError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminAddSelfHostedRunnerToGroupForEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runner-groups/{runnerGroupId}/runners/{runnerId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Adds a self-hosted runner to a runner group configured in an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise`\n * scope to use this endpoint.\n */\nexport const useEnterpriseAdminAddSelfHostedRunnerToGroupForEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      EnterpriseAdminAddSelfHostedRunnerToGroupForEnterpriseError,\n      EnterpriseAdminAddSelfHostedRunnerToGroupForEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    EnterpriseAdminAddSelfHostedRunnerToGroupForEnterpriseError,\n    EnterpriseAdminAddSelfHostedRunnerToGroupForEnterpriseVariables\n  >(\n    (\n      variables: EnterpriseAdminAddSelfHostedRunnerToGroupForEnterpriseVariables,\n    ) =>\n      fetchEnterpriseAdminAddSelfHostedRunnerToGroupForEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminListSelfHostedRunnersForEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminListSelfHostedRunnersForEnterpriseQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type EnterpriseAdminListSelfHostedRunnersForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminListSelfHostedRunnersForEnterpriseResponse = {\n  runners?: Schemas.Runner[];\n  total_count?: number;\n};\n\nexport type EnterpriseAdminListSelfHostedRunnersForEnterpriseVariables = {\n  pathParams: EnterpriseAdminListSelfHostedRunnersForEnterprisePathParams;\n  queryParams?: EnterpriseAdminListSelfHostedRunnersForEnterpriseQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all self-hosted runners configured for an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminListSelfHostedRunnersForEnterprise = (\n  variables: EnterpriseAdminListSelfHostedRunnersForEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    EnterpriseAdminListSelfHostedRunnersForEnterpriseResponse,\n    EnterpriseAdminListSelfHostedRunnersForEnterpriseError,\n    undefined,\n    {},\n    EnterpriseAdminListSelfHostedRunnersForEnterpriseQueryParams,\n    EnterpriseAdminListSelfHostedRunnersForEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runners',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all self-hosted runners configured for an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminListSelfHostedRunnersForEnterprise = <\n  TData = EnterpriseAdminListSelfHostedRunnersForEnterpriseResponse,\n>(\n  variables: EnterpriseAdminListSelfHostedRunnersForEnterpriseVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      EnterpriseAdminListSelfHostedRunnersForEnterpriseResponse,\n      EnterpriseAdminListSelfHostedRunnersForEnterpriseError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    EnterpriseAdminListSelfHostedRunnersForEnterpriseResponse,\n    EnterpriseAdminListSelfHostedRunnersForEnterpriseError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/enterprises/{enterprise}/actions/runners',\n      operationId: 'enterpriseAdminListSelfHostedRunnersForEnterprise',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchEnterpriseAdminListSelfHostedRunnersForEnterprise(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type EnterpriseAdminListRunnerApplicationsForEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminListRunnerApplicationsForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminListRunnerApplicationsForEnterpriseResponse =\n  Schemas.RunnerApplication[];\n\nexport type EnterpriseAdminListRunnerApplicationsForEnterpriseVariables = {\n  pathParams: EnterpriseAdminListRunnerApplicationsForEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists binaries for the runner application that you can download and run.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminListRunnerApplicationsForEnterprise = (\n  variables: EnterpriseAdminListRunnerApplicationsForEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    EnterpriseAdminListRunnerApplicationsForEnterpriseResponse,\n    EnterpriseAdminListRunnerApplicationsForEnterpriseError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminListRunnerApplicationsForEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runners/downloads',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists binaries for the runner application that you can download and run.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminListRunnerApplicationsForEnterprise = <\n  TData = EnterpriseAdminListRunnerApplicationsForEnterpriseResponse,\n>(\n  variables: EnterpriseAdminListRunnerApplicationsForEnterpriseVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      EnterpriseAdminListRunnerApplicationsForEnterpriseResponse,\n      EnterpriseAdminListRunnerApplicationsForEnterpriseError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    EnterpriseAdminListRunnerApplicationsForEnterpriseResponse,\n    EnterpriseAdminListRunnerApplicationsForEnterpriseError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/enterprises/{enterprise}/actions/runners/downloads',\n      operationId: 'enterpriseAdminListRunnerApplicationsForEnterprise',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchEnterpriseAdminListRunnerApplicationsForEnterprise(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type EnterpriseAdminCreateRegistrationTokenForEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminCreateRegistrationTokenForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminCreateRegistrationTokenForEnterpriseVariables = {\n  pathParams: EnterpriseAdminCreateRegistrationTokenForEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns a token that you can pass to the `config` script. The token expires after one hour.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n *\n * #### Example using registration token\n *\n * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n *\n * ```\n * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n * ```\n */\nexport const fetchEnterpriseAdminCreateRegistrationTokenForEnterprise = (\n  variables: EnterpriseAdminCreateRegistrationTokenForEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.AuthenticationToken,\n    EnterpriseAdminCreateRegistrationTokenForEnterpriseError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminCreateRegistrationTokenForEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runners/registration-token',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns a token that you can pass to the `config` script. The token expires after one hour.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n *\n * #### Example using registration token\n *\n * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n *\n * ```\n * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n * ```\n */\nexport const useEnterpriseAdminCreateRegistrationTokenForEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.AuthenticationToken,\n      EnterpriseAdminCreateRegistrationTokenForEnterpriseError,\n      EnterpriseAdminCreateRegistrationTokenForEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.AuthenticationToken,\n    EnterpriseAdminCreateRegistrationTokenForEnterpriseError,\n    EnterpriseAdminCreateRegistrationTokenForEnterpriseVariables\n  >(\n    (variables: EnterpriseAdminCreateRegistrationTokenForEnterpriseVariables) =>\n      fetchEnterpriseAdminCreateRegistrationTokenForEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminCreateRemoveTokenForEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminCreateRemoveTokenForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminCreateRemoveTokenForEnterpriseVariables = {\n  pathParams: EnterpriseAdminCreateRemoveTokenForEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n *\n * #### Example using remove token\n *\n * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this\n * endpoint.\n *\n * ```\n * ./config.sh remove --token TOKEN\n * ```\n */\nexport const fetchEnterpriseAdminCreateRemoveTokenForEnterprise = (\n  variables: EnterpriseAdminCreateRemoveTokenForEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.AuthenticationToken,\n    EnterpriseAdminCreateRemoveTokenForEnterpriseError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminCreateRemoveTokenForEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runners/remove-token',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n *\n * #### Example using remove token\n *\n * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this\n * endpoint.\n *\n * ```\n * ./config.sh remove --token TOKEN\n * ```\n */\nexport const useEnterpriseAdminCreateRemoveTokenForEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.AuthenticationToken,\n      EnterpriseAdminCreateRemoveTokenForEnterpriseError,\n      EnterpriseAdminCreateRemoveTokenForEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.AuthenticationToken,\n    EnterpriseAdminCreateRemoveTokenForEnterpriseError,\n    EnterpriseAdminCreateRemoveTokenForEnterpriseVariables\n  >(\n    (variables: EnterpriseAdminCreateRemoveTokenForEnterpriseVariables) =>\n      fetchEnterpriseAdminCreateRemoveTokenForEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminDeleteSelfHostedRunnerFromEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n  /**\n   * Unique identifier of the self-hosted runner.\n   */\n  runnerId: number;\n};\n\nexport type EnterpriseAdminDeleteSelfHostedRunnerFromEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminDeleteSelfHostedRunnerFromEnterpriseVariables = {\n  pathParams: EnterpriseAdminDeleteSelfHostedRunnerFromEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminDeleteSelfHostedRunnerFromEnterprise = (\n  variables: EnterpriseAdminDeleteSelfHostedRunnerFromEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    EnterpriseAdminDeleteSelfHostedRunnerFromEnterpriseError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminDeleteSelfHostedRunnerFromEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runners/{runnerId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminDeleteSelfHostedRunnerFromEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      EnterpriseAdminDeleteSelfHostedRunnerFromEnterpriseError,\n      EnterpriseAdminDeleteSelfHostedRunnerFromEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    EnterpriseAdminDeleteSelfHostedRunnerFromEnterpriseError,\n    EnterpriseAdminDeleteSelfHostedRunnerFromEnterpriseVariables\n  >(\n    (variables: EnterpriseAdminDeleteSelfHostedRunnerFromEnterpriseVariables) =>\n      fetchEnterpriseAdminDeleteSelfHostedRunnerFromEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminGetSelfHostedRunnerForEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n  /**\n   * Unique identifier of the self-hosted runner.\n   */\n  runnerId: number;\n};\n\nexport type EnterpriseAdminGetSelfHostedRunnerForEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminGetSelfHostedRunnerForEnterpriseVariables = {\n  pathParams: EnterpriseAdminGetSelfHostedRunnerForEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific self-hosted runner configured in an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const fetchEnterpriseAdminGetSelfHostedRunnerForEnterprise = (\n  variables: EnterpriseAdminGetSelfHostedRunnerForEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Runner,\n    EnterpriseAdminGetSelfHostedRunnerForEnterpriseError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminGetSelfHostedRunnerForEnterprisePathParams\n  >({\n    url: '/enterprises/{enterprise}/actions/runners/{runnerId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific self-hosted runner configured in an enterprise.\n *\n * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.\n */\nexport const useEnterpriseAdminGetSelfHostedRunnerForEnterprise = <\n  TData = Schemas.Runner,\n>(\n  variables: EnterpriseAdminGetSelfHostedRunnerForEnterpriseVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Runner,\n      EnterpriseAdminGetSelfHostedRunnerForEnterpriseError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Runner,\n    EnterpriseAdminGetSelfHostedRunnerForEnterpriseError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/enterprises/{enterprise}/actions/runners/{runner_id}',\n      operationId: 'enterpriseAdminGetSelfHostedRunnerForEnterprise',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchEnterpriseAdminGetSelfHostedRunnerForEnterprise(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AuditLogGetAuditLogPathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type AuditLogGetAuditLogQueryParams = {\n  /**\n   * A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log).\n   */\n  phrase?: string;\n  /**\n   * The event types to include:\n   *\n   * - `web` - returns web (non-Git) events\n   * - `git` - returns Git events\n   * - `all` - returns both web and Git events\n   *\n   * The default is `web`.\n   */\n  include?: 'web' | 'git' | 'all';\n  /**\n   * A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor.\n   */\n  after?: string;\n  /**\n   * A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor.\n   */\n  before?: string;\n  /**\n   * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`.\n   *\n   * The default is `desc`.\n   */\n  order?: 'desc' | 'asc';\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n};\n\nexport type AuditLogGetAuditLogError = Fetcher.ErrorWrapper<undefined>;\n\nexport type AuditLogGetAuditLogResponse = Schemas.AuditLogEvent[];\n\nexport type AuditLogGetAuditLogVariables = {\n  pathParams: AuditLogGetAuditLogPathParams;\n  queryParams?: AuditLogGetAuditLogQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The audit log REST API is currently in beta and is subject to change.\n *\n * Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope.\n */\nexport const fetchAuditLogGetAuditLog = (\n  variables: AuditLogGetAuditLogVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AuditLogGetAuditLogResponse,\n    AuditLogGetAuditLogError,\n    undefined,\n    {},\n    AuditLogGetAuditLogQueryParams,\n    AuditLogGetAuditLogPathParams\n  >({\n    url: '/enterprises/{enterprise}/audit-log',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The audit log REST API is currently in beta and is subject to change.\n *\n * Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope.\n */\nexport const useAuditLogGetAuditLog = <TData = AuditLogGetAuditLogResponse>(\n  variables: AuditLogGetAuditLogVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      AuditLogGetAuditLogResponse,\n      AuditLogGetAuditLogError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    AuditLogGetAuditLogResponse,\n    AuditLogGetAuditLogError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/enterprises/{enterprise}/audit-log',\n      operationId: 'auditLogGetAuditLog',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAuditLogGetAuditLog({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type BillingGetGithubActionsBillingGhePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type BillingGetGithubActionsBillingGheError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type BillingGetGithubActionsBillingGheVariables = {\n  pathParams: BillingGetGithubActionsBillingGhePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the summary of the free and paid GitHub Actions minutes used.\n *\n * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n *\n * The authenticated user must be an enterprise admin.\n */\nexport const fetchBillingGetGithubActionsBillingGhe = (\n  variables: BillingGetGithubActionsBillingGheVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ActionsBillingUsage,\n    BillingGetGithubActionsBillingGheError,\n    undefined,\n    {},\n    {},\n    BillingGetGithubActionsBillingGhePathParams\n  >({\n    url: '/enterprises/{enterprise}/settings/billing/actions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the summary of the free and paid GitHub Actions minutes used.\n *\n * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n *\n * The authenticated user must be an enterprise admin.\n */\nexport const useBillingGetGithubActionsBillingGhe = <\n  TData = Schemas.ActionsBillingUsage,\n>(\n  variables: BillingGetGithubActionsBillingGheVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ActionsBillingUsage,\n      BillingGetGithubActionsBillingGheError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ActionsBillingUsage,\n    BillingGetGithubActionsBillingGheError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/enterprises/{enterprise}/settings/billing/actions',\n      operationId: 'billingGetGithubActionsBillingGhe',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchBillingGetGithubActionsBillingGhe(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type BillingGetGithubPackagesBillingGhePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type BillingGetGithubPackagesBillingGheError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type BillingGetGithubPackagesBillingGheVariables = {\n  pathParams: BillingGetGithubPackagesBillingGhePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the free and paid storage used for GitHub Packages in gigabytes.\n *\n * Paid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n *\n * The authenticated user must be an enterprise admin.\n */\nexport const fetchBillingGetGithubPackagesBillingGhe = (\n  variables: BillingGetGithubPackagesBillingGheVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PackagesBillingUsage,\n    BillingGetGithubPackagesBillingGheError,\n    undefined,\n    {},\n    {},\n    BillingGetGithubPackagesBillingGhePathParams\n  >({\n    url: '/enterprises/{enterprise}/settings/billing/packages',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the free and paid storage used for GitHub Packages in gigabytes.\n *\n * Paid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n *\n * The authenticated user must be an enterprise admin.\n */\nexport const useBillingGetGithubPackagesBillingGhe = <\n  TData = Schemas.PackagesBillingUsage,\n>(\n  variables: BillingGetGithubPackagesBillingGheVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PackagesBillingUsage,\n      BillingGetGithubPackagesBillingGheError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.PackagesBillingUsage,\n    BillingGetGithubPackagesBillingGheError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/enterprises/{enterprise}/settings/billing/packages',\n      operationId: 'billingGetGithubPackagesBillingGhe',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchBillingGetGithubPackagesBillingGhe(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type BillingGetSharedStorageBillingGhePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type BillingGetSharedStorageBillingGheError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type BillingGetSharedStorageBillingGheVariables = {\n  pathParams: BillingGetSharedStorageBillingGhePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.\n *\n * Paid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n *\n * The authenticated user must be an enterprise admin.\n */\nexport const fetchBillingGetSharedStorageBillingGhe = (\n  variables: BillingGetSharedStorageBillingGheVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CombinedBillingUsage,\n    BillingGetSharedStorageBillingGheError,\n    undefined,\n    {},\n    {},\n    BillingGetSharedStorageBillingGhePathParams\n  >({\n    url: '/enterprises/{enterprise}/settings/billing/shared-storage',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.\n *\n * Paid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n *\n * The authenticated user must be an enterprise admin.\n */\nexport const useBillingGetSharedStorageBillingGhe = <\n  TData = Schemas.CombinedBillingUsage,\n>(\n  variables: BillingGetSharedStorageBillingGheVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CombinedBillingUsage,\n      BillingGetSharedStorageBillingGheError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.CombinedBillingUsage,\n    BillingGetSharedStorageBillingGheError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/enterprises/{enterprise}/settings/billing/shared-storage',\n      operationId: 'billingGetSharedStorageBillingGhe',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchBillingGetSharedStorageBillingGhe(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityListPublicEventsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListPublicEventsError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type ActivityListPublicEventsResponse = Schemas.Event[];\n\nexport type ActivityListPublicEventsVariables = {\n  queryParams?: ActivityListPublicEventsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago.\n */\nexport const fetchActivityListPublicEvents = (\n  variables: ActivityListPublicEventsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListPublicEventsResponse,\n    ActivityListPublicEventsError,\n    undefined,\n    {},\n    ActivityListPublicEventsQueryParams,\n    {}\n  >({ url: '/events', method: 'get', ...variables, signal });\n\n/**\n * We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago.\n */\nexport const useActivityListPublicEvents = <\n  TData = ActivityListPublicEventsResponse,\n>(\n  variables: ActivityListPublicEventsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListPublicEventsResponse,\n      ActivityListPublicEventsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListPublicEventsResponse,\n    ActivityListPublicEventsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/events',\n      operationId: 'activityListPublicEvents',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListPublicEvents(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityGetFeedsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityGetFeedsVariables = GithubContext['fetcherOptions'];\n\n/**\n * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user:\n *\n * *   **Timeline**: The GitHub global public timeline\n * *   **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia)\n * *   **Current user public**: The public timeline for the authenticated user\n * *   **Current user**: The private timeline for the authenticated user\n * *   **Current user actor**: The private timeline for activity created by the authenticated user\n * *   **Current user organizations**: The private timeline for the organizations the authenticated user is a member of.\n * *   **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub.\n *\n * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens.\n */\nexport const fetchActivityGetFeeds = (\n  variables: ActivityGetFeedsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<Schemas.Feed, ActivityGetFeedsError, undefined, {}, {}, {}>({\n    url: '/feeds',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user:\n *\n * *   **Timeline**: The GitHub global public timeline\n * *   **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia)\n * *   **Current user public**: The public timeline for the authenticated user\n * *   **Current user**: The private timeline for the authenticated user\n * *   **Current user actor**: The private timeline for activity created by the authenticated user\n * *   **Current user organizations**: The private timeline for the organizations the authenticated user is a member of.\n * *   **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub.\n *\n * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens.\n */\nexport const useActivityGetFeeds = <TData = Schemas.Feed>(\n  variables: ActivityGetFeedsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.Feed, ActivityGetFeedsError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Feed, ActivityGetFeedsError, TData>(\n    queryKeyFn({ path: '/feeds', operationId: 'activityGetFeeds', variables }),\n    ({ signal }) =>\n      fetchActivityGetFeeds({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GistsListQueryParams = {\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type GistsListError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type GistsListResponse = Schemas.BaseGist[];\n\nexport type GistsListVariables = {\n  queryParams?: GistsListQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists:\n */\nexport const fetchGistsList = (\n  variables: GistsListVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    GistsListResponse,\n    GistsListError,\n    undefined,\n    {},\n    GistsListQueryParams,\n    {}\n  >({ url: '/gists', method: 'get', ...variables, signal });\n\n/**\n * Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists:\n */\nexport const useGistsList = <TData = GistsListResponse>(\n  variables: GistsListVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<GistsListResponse, GistsListError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<GistsListResponse, GistsListError, TData>(\n    queryKeyFn({ path: '/gists', operationId: 'gistsList', variables }),\n    ({ signal }) => fetchGistsList({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GistsCreateError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type GistsCreateRequestBody = {\n  /**\n   * Description of the gist\n   *\n   * @example Example Ruby script\n   */\n  description?: string;\n  /**\n   * Names and content for the files that make up the gist\n   *\n   * @example {\"hello.rb\":{\"content\":\"puts \\\"Hello, World!\\\"\"}}\n   */\n  files: {\n    [key: string]: {\n      /**\n       * Content of the file\n       */\n      content: string;\n    };\n  };\n  public?: boolean | ('true' | 'false');\n};\n\nexport type GistsCreateVariables = {\n  body: GistsCreateRequestBody;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Allows you to add a new gist with one or more files.\n *\n * **Note:** Don't name your files \"gistfile\" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally.\n */\nexport const fetchGistsCreate = (\n  variables: GistsCreateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GistSimple,\n    GistsCreateError,\n    GistsCreateRequestBody,\n    {},\n    {},\n    {}\n  >({ url: '/gists', method: 'post', ...variables, signal });\n\n/**\n * Allows you to add a new gist with one or more files.\n *\n * **Note:** Don't name your files \"gistfile\" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally.\n */\nexport const useGistsCreate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.GistSimple,\n      GistsCreateError,\n      GistsCreateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.GistSimple,\n    GistsCreateError,\n    GistsCreateVariables\n  >(\n    (variables: GistsCreateVariables) =>\n      fetchGistsCreate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GistsListPublicQueryParams = {\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type GistsListPublicError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type GistsListPublicResponse = Schemas.BaseGist[];\n\nexport type GistsListPublicVariables = {\n  queryParams?: GistsListPublicQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List public gists sorted by most recently updated to least recently updated.\n *\n * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page.\n */\nexport const fetchGistsListPublic = (\n  variables: GistsListPublicVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    GistsListPublicResponse,\n    GistsListPublicError,\n    undefined,\n    {},\n    GistsListPublicQueryParams,\n    {}\n  >({ url: '/gists/public', method: 'get', ...variables, signal });\n\n/**\n * List public gists sorted by most recently updated to least recently updated.\n *\n * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page.\n */\nexport const useGistsListPublic = <TData = GistsListPublicResponse>(\n  variables: GistsListPublicVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      GistsListPublicResponse,\n      GistsListPublicError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    GistsListPublicResponse,\n    GistsListPublicError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/gists/public',\n      operationId: 'gistsListPublic',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGistsListPublic({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GistsListStarredQueryParams = {\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type GistsListStarredError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type GistsListStarredResponse = Schemas.BaseGist[];\n\nexport type GistsListStarredVariables = {\n  queryParams?: GistsListStarredQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List the authenticated user's starred gists:\n */\nexport const fetchGistsListStarred = (\n  variables: GistsListStarredVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    GistsListStarredResponse,\n    GistsListStarredError,\n    undefined,\n    {},\n    GistsListStarredQueryParams,\n    {}\n  >({ url: '/gists/starred', method: 'get', ...variables, signal });\n\n/**\n * List the authenticated user's starred gists:\n */\nexport const useGistsListStarred = <TData = GistsListStarredResponse>(\n  variables: GistsListStarredVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      GistsListStarredResponse,\n      GistsListStarredError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    GistsListStarredResponse,\n    GistsListStarredError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/gists/starred',\n      operationId: 'gistsListStarred',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGistsListStarred({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GistsDeletePathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n};\n\nexport type GistsDeleteError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type GistsDeleteVariables = {\n  pathParams: GistsDeletePathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGistsDelete = (\n  variables: GistsDeleteVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    GistsDeleteError,\n    undefined,\n    {},\n    {},\n    GistsDeletePathParams\n  >({ url: '/gists/{gistId}', method: 'delete', ...variables, signal });\n\nexport const useGistsDelete = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      GistsDeleteError,\n      GistsDeleteVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    GistsDeleteError,\n    GistsDeleteVariables\n  >(\n    (variables: GistsDeleteVariables) =>\n      fetchGistsDelete({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GistsGetPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n};\n\nexport type GistsGetError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.ForbiddenGist;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type GistsGetVariables = {\n  pathParams: GistsGetPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGistsGet = (\n  variables: GistsGetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GistSimple,\n    GistsGetError,\n    undefined,\n    {},\n    {},\n    GistsGetPathParams\n  >({ url: '/gists/{gistId}', method: 'get', ...variables, signal });\n\nexport const useGistsGet = <TData = Schemas.GistSimple>(\n  variables: GistsGetVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.GistSimple, GistsGetError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.GistSimple, GistsGetError, TData>(\n    queryKeyFn({\n      path: '/gists/{gist_id}',\n      operationId: 'gistsGet',\n      variables,\n    }),\n    ({ signal }) => fetchGistsGet({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GistsUpdatePathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n};\n\nexport type GistsUpdateError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type GistsUpdateVariables = {\n  body?:\n    | {\n        /**\n         * Description of the gist\n         *\n         * @example Example Ruby script\n         */\n        description: string;\n        /**\n         * Names of files to be updated\n         *\n         * @example {\"hello.rb\":{\"content\":\"blah\",\"filename\":\"goodbye.rb\"}}\n         */\n        files?: {\n          [key: string]:\n            | {\n                /**\n                 * The new content of the file\n                 */\n                content: string;\n                /**\n                 * The new filename for the file\n                 */\n                filename?: string | null;\n              }\n            | {\n                /**\n                 * The new content of the file\n                 */\n                content?: string;\n                /**\n                 * The new filename for the file\n                 */\n                filename: string | null;\n              }\n            | {}\n            | null;\n        };\n      }\n    | {\n        /**\n         * Description of the gist\n         *\n         * @example Example Ruby script\n         */\n        description?: string;\n        /**\n         * Names of files to be updated\n         *\n         * @example {\"hello.rb\":{\"content\":\"blah\",\"filename\":\"goodbye.rb\"}}\n         */\n        files: {\n          [key: string]:\n            | {\n                /**\n                 * The new content of the file\n                 */\n                content: string;\n                /**\n                 * The new filename for the file\n                 */\n                filename?: string | null;\n              }\n            | {\n                /**\n                 * The new content of the file\n                 */\n                content?: string;\n                /**\n                 * The new filename for the file\n                 */\n                filename: string | null;\n              }\n            | {}\n            | null;\n        };\n      }\n    | null;\n  pathParams: GistsUpdatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged.\n */\nexport const fetchGistsUpdate = (\n  variables: GistsUpdateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GistSimple,\n    GistsUpdateError,\n    | {\n        /**\n         * Description of the gist\n         *\n         * @example Example Ruby script\n         */\n        description: string;\n        /**\n         * Names of files to be updated\n         *\n         * @example {\"hello.rb\":{\"content\":\"blah\",\"filename\":\"goodbye.rb\"}}\n         */\n        files?: {\n          [key: string]:\n            | {\n                /**\n                 * The new content of the file\n                 */\n                content: string;\n                /**\n                 * The new filename for the file\n                 */\n                filename?: string | null;\n              }\n            | {\n                /**\n                 * The new content of the file\n                 */\n                content?: string;\n                /**\n                 * The new filename for the file\n                 */\n                filename: string | null;\n              }\n            | {}\n            | null;\n        };\n      }\n    | {\n        /**\n         * Description of the gist\n         *\n         * @example Example Ruby script\n         */\n        description?: string;\n        /**\n         * Names of files to be updated\n         *\n         * @example {\"hello.rb\":{\"content\":\"blah\",\"filename\":\"goodbye.rb\"}}\n         */\n        files: {\n          [key: string]:\n            | {\n                /**\n                 * The new content of the file\n                 */\n                content: string;\n                /**\n                 * The new filename for the file\n                 */\n                filename?: string | null;\n              }\n            | {\n                /**\n                 * The new content of the file\n                 */\n                content?: string;\n                /**\n                 * The new filename for the file\n                 */\n                filename: string | null;\n              }\n            | {}\n            | null;\n        };\n      }\n    | null,\n    {},\n    {},\n    GistsUpdatePathParams\n  >({ url: '/gists/{gistId}', method: 'patch', ...variables, signal });\n\n/**\n * Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged.\n */\nexport const useGistsUpdate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.GistSimple,\n      GistsUpdateError,\n      GistsUpdateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.GistSimple,\n    GistsUpdateError,\n    GistsUpdateVariables\n  >(\n    (variables: GistsUpdateVariables) =>\n      fetchGistsUpdate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GistsListCommentsPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n};\n\nexport type GistsListCommentsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type GistsListCommentsError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type GistsListCommentsResponse = Schemas.GistComment[];\n\nexport type GistsListCommentsVariables = {\n  pathParams: GistsListCommentsPathParams;\n  queryParams?: GistsListCommentsQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGistsListComments = (\n  variables: GistsListCommentsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    GistsListCommentsResponse,\n    GistsListCommentsError,\n    undefined,\n    {},\n    GistsListCommentsQueryParams,\n    GistsListCommentsPathParams\n  >({ url: '/gists/{gistId}/comments', method: 'get', ...variables, signal });\n\nexport const useGistsListComments = <TData = GistsListCommentsResponse>(\n  variables: GistsListCommentsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      GistsListCommentsResponse,\n      GistsListCommentsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    GistsListCommentsResponse,\n    GistsListCommentsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/gists/{gist_id}/comments',\n      operationId: 'gistsListComments',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGistsListComments({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GistsCreateCommentPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n};\n\nexport type GistsCreateCommentError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type GistsCreateCommentRequestBody = {\n  /**\n   * The comment text.\n   *\n   * @example Body of the attachment\n   * @maxLength 65535\n   */\n  body: string;\n};\n\nexport type GistsCreateCommentVariables = {\n  body: GistsCreateCommentRequestBody;\n  pathParams: GistsCreateCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGistsCreateComment = (\n  variables: GistsCreateCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GistComment,\n    GistsCreateCommentError,\n    GistsCreateCommentRequestBody,\n    {},\n    {},\n    GistsCreateCommentPathParams\n  >({ url: '/gists/{gistId}/comments', method: 'post', ...variables, signal });\n\nexport const useGistsCreateComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.GistComment,\n      GistsCreateCommentError,\n      GistsCreateCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.GistComment,\n    GistsCreateCommentError,\n    GistsCreateCommentVariables\n  >(\n    (variables: GistsCreateCommentVariables) =>\n      fetchGistsCreateComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GistsDeleteCommentPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type GistsDeleteCommentError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type GistsDeleteCommentVariables = {\n  pathParams: GistsDeleteCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGistsDeleteComment = (\n  variables: GistsDeleteCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    GistsDeleteCommentError,\n    undefined,\n    {},\n    {},\n    GistsDeleteCommentPathParams\n  >({\n    url: '/gists/{gistId}/comments/{commentId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useGistsDeleteComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      GistsDeleteCommentError,\n      GistsDeleteCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    GistsDeleteCommentError,\n    GistsDeleteCommentVariables\n  >(\n    (variables: GistsDeleteCommentVariables) =>\n      fetchGistsDeleteComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GistsGetCommentPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type GistsGetCommentError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.ForbiddenGist;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type GistsGetCommentVariables = {\n  pathParams: GistsGetCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGistsGetComment = (\n  variables: GistsGetCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GistComment,\n    GistsGetCommentError,\n    undefined,\n    {},\n    {},\n    GistsGetCommentPathParams\n  >({\n    url: '/gists/{gistId}/comments/{commentId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useGistsGetComment = <TData = Schemas.GistComment>(\n  variables: GistsGetCommentVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.GistComment,\n      GistsGetCommentError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.GistComment, GistsGetCommentError, TData>(\n    queryKeyFn({\n      path: '/gists/{gist_id}/comments/{comment_id}',\n      operationId: 'gistsGetComment',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGistsGetComment({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GistsUpdateCommentPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type GistsUpdateCommentError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type GistsUpdateCommentRequestBody = {\n  /**\n   * The comment text.\n   *\n   * @example Body of the attachment\n   * @maxLength 65535\n   */\n  body: string;\n};\n\nexport type GistsUpdateCommentVariables = {\n  body: GistsUpdateCommentRequestBody;\n  pathParams: GistsUpdateCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGistsUpdateComment = (\n  variables: GistsUpdateCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GistComment,\n    GistsUpdateCommentError,\n    GistsUpdateCommentRequestBody,\n    {},\n    {},\n    GistsUpdateCommentPathParams\n  >({\n    url: '/gists/{gistId}/comments/{commentId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\nexport const useGistsUpdateComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.GistComment,\n      GistsUpdateCommentError,\n      GistsUpdateCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.GistComment,\n    GistsUpdateCommentError,\n    GistsUpdateCommentVariables\n  >(\n    (variables: GistsUpdateCommentVariables) =>\n      fetchGistsUpdateComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GistsListCommitsPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n};\n\nexport type GistsListCommitsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type GistsListCommitsError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type GistsListCommitsResponse = Schemas.GistCommit[];\n\nexport type GistsListCommitsVariables = {\n  pathParams: GistsListCommitsPathParams;\n  queryParams?: GistsListCommitsQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGistsListCommits = (\n  variables: GistsListCommitsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    GistsListCommitsResponse,\n    GistsListCommitsError,\n    undefined,\n    {},\n    GistsListCommitsQueryParams,\n    GistsListCommitsPathParams\n  >({ url: '/gists/{gistId}/commits', method: 'get', ...variables, signal });\n\nexport const useGistsListCommits = <TData = GistsListCommitsResponse>(\n  variables: GistsListCommitsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      GistsListCommitsResponse,\n      GistsListCommitsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    GistsListCommitsResponse,\n    GistsListCommitsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/gists/{gist_id}/commits',\n      operationId: 'gistsListCommits',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGistsListCommits({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GistsListForksPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n};\n\nexport type GistsListForksQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type GistsListForksError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type GistsListForksResponse = Schemas.GistSimple[];\n\nexport type GistsListForksVariables = {\n  pathParams: GistsListForksPathParams;\n  queryParams?: GistsListForksQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGistsListForks = (\n  variables: GistsListForksVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    GistsListForksResponse,\n    GistsListForksError,\n    undefined,\n    {},\n    GistsListForksQueryParams,\n    GistsListForksPathParams\n  >({ url: '/gists/{gistId}/forks', method: 'get', ...variables, signal });\n\nexport const useGistsListForks = <TData = GistsListForksResponse>(\n  variables: GistsListForksVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      GistsListForksResponse,\n      GistsListForksError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    GistsListForksResponse,\n    GistsListForksError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/gists/{gist_id}/forks',\n      operationId: 'gistsListForks',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGistsListForks({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GistsForkPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n};\n\nexport type GistsForkError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type GistsForkVariables = {\n  pathParams: GistsForkPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note**: This was previously `/gists/:gist_id/fork`.\n */\nexport const fetchGistsFork = (\n  variables: GistsForkVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.BaseGist,\n    GistsForkError,\n    undefined,\n    {},\n    {},\n    GistsForkPathParams\n  >({ url: '/gists/{gistId}/forks', method: 'post', ...variables, signal });\n\n/**\n * **Note**: This was previously `/gists/:gist_id/fork`.\n */\nexport const useGistsFork = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.BaseGist,\n      GistsForkError,\n      GistsForkVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.BaseGist,\n    GistsForkError,\n    GistsForkVariables\n  >(\n    (variables: GistsForkVariables) =>\n      fetchGistsFork({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GistsUnstarPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n};\n\nexport type GistsUnstarError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type GistsUnstarVariables = {\n  pathParams: GistsUnstarPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGistsUnstar = (\n  variables: GistsUnstarVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    GistsUnstarError,\n    undefined,\n    {},\n    {},\n    GistsUnstarPathParams\n  >({ url: '/gists/{gistId}/star', method: 'delete', ...variables, signal });\n\nexport const useGistsUnstar = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      GistsUnstarError,\n      GistsUnstarVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    GistsUnstarError,\n    GistsUnstarVariables\n  >(\n    (variables: GistsUnstarVariables) =>\n      fetchGistsUnstar({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GistsCheckIsStarredPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n};\n\nexport type GistsCheckIsStarredError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: {};\n    }\n>;\n\nexport type GistsCheckIsStarredVariables = {\n  pathParams: GistsCheckIsStarredPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGistsCheckIsStarred = (\n  variables: GistsCheckIsStarredVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    GistsCheckIsStarredError,\n    undefined,\n    {},\n    {},\n    GistsCheckIsStarredPathParams\n  >({ url: '/gists/{gistId}/star', method: 'get', ...variables, signal });\n\nexport const useGistsCheckIsStarred = <TData = undefined>(\n  variables: GistsCheckIsStarredVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<undefined, GistsCheckIsStarredError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<undefined, GistsCheckIsStarredError, TData>(\n    queryKeyFn({\n      path: '/gists/{gist_id}/star',\n      operationId: 'gistsCheckIsStarred',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGistsCheckIsStarred({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GistsStarPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n};\n\nexport type GistsStarError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type GistsStarVariables = {\n  pathParams: GistsStarPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n */\nexport const fetchGistsStar = (\n  variables: GistsStarVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    GistsStarError,\n    undefined,\n    {},\n    {},\n    GistsStarPathParams\n  >({ url: '/gists/{gistId}/star', method: 'put', ...variables, signal });\n\n/**\n * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n */\nexport const useGistsStar = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      GistsStarError,\n      GistsStarVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<undefined, GistsStarError, GistsStarVariables>(\n    (variables: GistsStarVariables) =>\n      fetchGistsStar({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GistsGetRevisionPathParams = {\n  /**\n   * gist_id parameter\n   */\n  gistId: string;\n  sha: string;\n};\n\nexport type GistsGetRevisionError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type GistsGetRevisionVariables = {\n  pathParams: GistsGetRevisionPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGistsGetRevision = (\n  variables: GistsGetRevisionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GistSimple,\n    GistsGetRevisionError,\n    undefined,\n    {},\n    {},\n    GistsGetRevisionPathParams\n  >({ url: '/gists/{gistId}/{sha}', method: 'get', ...variables, signal });\n\nexport const useGistsGetRevision = <TData = Schemas.GistSimple>(\n  variables: GistsGetRevisionVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.GistSimple,\n      GistsGetRevisionError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.GistSimple, GistsGetRevisionError, TData>(\n    queryKeyFn({\n      path: '/gists/{gist_id}/{sha}',\n      operationId: 'gistsGetRevision',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGistsGetRevision({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GitignoreGetAllTemplatesError = Fetcher.ErrorWrapper<{\n  status: 304;\n  payload: Responses.NotModified;\n}>;\n\nexport type GitignoreGetAllTemplatesResponse = string[];\n\nexport type GitignoreGetAllTemplatesVariables = GithubContext['fetcherOptions'];\n\n/**\n * List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user).\n */\nexport const fetchGitignoreGetAllTemplates = (\n  variables: GitignoreGetAllTemplatesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    GitignoreGetAllTemplatesResponse,\n    GitignoreGetAllTemplatesError,\n    undefined,\n    {},\n    {},\n    {}\n  >({ url: '/gitignore/templates', method: 'get', ...variables, signal });\n\n/**\n * List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user).\n */\nexport const useGitignoreGetAllTemplates = <\n  TData = GitignoreGetAllTemplatesResponse,\n>(\n  variables: GitignoreGetAllTemplatesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      GitignoreGetAllTemplatesResponse,\n      GitignoreGetAllTemplatesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    GitignoreGetAllTemplatesResponse,\n    GitignoreGetAllTemplatesError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/gitignore/templates',\n      operationId: 'gitignoreGetAllTemplates',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGitignoreGetAllTemplates(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GitignoreGetTemplatePathParams = {\n  name: string;\n};\n\nexport type GitignoreGetTemplateError = Fetcher.ErrorWrapper<{\n  status: 304;\n  payload: Responses.NotModified;\n}>;\n\nexport type GitignoreGetTemplateVariables = {\n  pathParams: GitignoreGetTemplatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The API also allows fetching the source of a single template.\n * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents.\n */\nexport const fetchGitignoreGetTemplate = (\n  variables: GitignoreGetTemplateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GitignoreTemplate,\n    GitignoreGetTemplateError,\n    undefined,\n    {},\n    {},\n    GitignoreGetTemplatePathParams\n  >({\n    url: '/gitignore/templates/{name}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * The API also allows fetching the source of a single template.\n * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents.\n */\nexport const useGitignoreGetTemplate = <TData = Schemas.GitignoreTemplate>(\n  variables: GitignoreGetTemplateVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.GitignoreTemplate,\n      GitignoreGetTemplateError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.GitignoreTemplate,\n    GitignoreGetTemplateError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/gitignore/templates/{name}',\n      operationId: 'gitignoreGetTemplate',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGitignoreGetTemplate({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsListReposAccessibleToInstallationQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type AppsListReposAccessibleToInstallationError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type AppsListReposAccessibleToInstallationResponse = {\n  repositories: Schemas.Repository[];\n  /**\n   * @example selected\n   */\n  repository_selection?: string;\n  total_count: number;\n};\n\nexport type AppsListReposAccessibleToInstallationVariables = {\n  queryParams?: AppsListReposAccessibleToInstallationQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List repositories that an app installation can access.\n *\n * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.\n */\nexport const fetchAppsListReposAccessibleToInstallation = (\n  variables: AppsListReposAccessibleToInstallationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AppsListReposAccessibleToInstallationResponse,\n    AppsListReposAccessibleToInstallationError,\n    undefined,\n    {},\n    AppsListReposAccessibleToInstallationQueryParams,\n    {}\n  >({ url: '/installation/repositories', method: 'get', ...variables, signal });\n\n/**\n * List repositories that an app installation can access.\n *\n * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.\n */\nexport const useAppsListReposAccessibleToInstallation = <\n  TData = AppsListReposAccessibleToInstallationResponse,\n>(\n  variables: AppsListReposAccessibleToInstallationVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      AppsListReposAccessibleToInstallationResponse,\n      AppsListReposAccessibleToInstallationError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    AppsListReposAccessibleToInstallationResponse,\n    AppsListReposAccessibleToInstallationError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/installation/repositories',\n      operationId: 'appsListReposAccessibleToInstallation',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsListReposAccessibleToInstallation(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsRevokeInstallationAccessTokenError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type AppsRevokeInstallationAccessTokenVariables =\n  GithubContext['fetcherOptions'];\n\n/**\n * Revokes the installation token you're using to authenticate as an installation and access this endpoint.\n *\n * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the \"[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)\" endpoint.\n *\n * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.\n */\nexport const fetchAppsRevokeInstallationAccessToken = (\n  variables: AppsRevokeInstallationAccessTokenVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    AppsRevokeInstallationAccessTokenError,\n    undefined,\n    {},\n    {},\n    {}\n  >({ url: '/installation/token', method: 'delete', ...variables, signal });\n\n/**\n * Revokes the installation token you're using to authenticate as an installation and access this endpoint.\n *\n * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the \"[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)\" endpoint.\n *\n * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.\n */\nexport const useAppsRevokeInstallationAccessToken = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      AppsRevokeInstallationAccessTokenError,\n      AppsRevokeInstallationAccessTokenVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    AppsRevokeInstallationAccessTokenError,\n    AppsRevokeInstallationAccessTokenVariables\n  >(\n    (variables: AppsRevokeInstallationAccessTokenVariables) =>\n      fetchAppsRevokeInstallationAccessToken({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type IssuesListQueryParams = {\n  /**\n   * Indicates which sorts of issues to return. Can be one of:\n   * \\* `assigned`: Issues assigned to you\n   * \\* `created`: Issues created by you\n   * \\* `mentioned`: Issues mentioning you\n   * \\* `subscribed`: Issues you're subscribed to updates for\n   * \\* `all`: All issues the authenticated user can see, regardless of participation or creation\n   *\n   * @default assigned\n   */\n  filter?:\n    | 'assigned'\n    | 'created'\n    | 'mentioned'\n    | 'subscribed'\n    | 'repos'\n    | 'all';\n  /**\n   * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.\n   *\n   * @default open\n   */\n  state?: 'open' | 'closed' | 'all';\n  /**\n   * A list of comma separated label names. Example: `bug,ui,@high`\n   */\n  labels?: string;\n  /**\n   * What to sort results by. Can be either `created`, `updated`, `comments`.\n   *\n   * @default created\n   */\n  sort?: 'created' | 'updated' | 'comments';\n  /**\n   * One of `asc` (ascending) or `desc` (descending).\n   *\n   * @default desc\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  collab?: boolean;\n  orgs?: boolean;\n  owned?: boolean;\n  pulls?: boolean;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type IssuesListResponse = Schemas.Issue[];\n\nexport type IssuesListVariables = {\n  queryParams?: IssuesListQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List issues assigned to the authenticated user across all visible repositories including owned repositories, member\n * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not\n * necessarily assigned to you.\n *\n *\n * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\n * reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\n * the `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\n * request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.\n */\nexport const fetchIssuesList = (\n  variables: IssuesListVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListResponse,\n    IssuesListError,\n    undefined,\n    {},\n    IssuesListQueryParams,\n    {}\n  >({ url: '/issues', method: 'get', ...variables, signal });\n\n/**\n * List issues assigned to the authenticated user across all visible repositories including owned repositories, member\n * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not\n * necessarily assigned to you.\n *\n *\n * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\n * reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\n * the `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\n * request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.\n */\nexport const useIssuesList = <TData = IssuesListResponse>(\n  variables: IssuesListVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<IssuesListResponse, IssuesListError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<IssuesListResponse, IssuesListError, TData>(\n    queryKeyFn({ path: '/issues', operationId: 'issuesList', variables }),\n    ({ signal }) =>\n      fetchIssuesList({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type LicensesGetAllCommonlyUsedQueryParams = {\n  featured?: boolean;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type LicensesGetAllCommonlyUsedError = Fetcher.ErrorWrapper<{\n  status: 304;\n  payload: Responses.NotModified;\n}>;\n\nexport type LicensesGetAllCommonlyUsedResponse = Schemas.LicenseSimple[];\n\nexport type LicensesGetAllCommonlyUsedVariables = {\n  queryParams?: LicensesGetAllCommonlyUsedQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchLicensesGetAllCommonlyUsed = (\n  variables: LicensesGetAllCommonlyUsedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    LicensesGetAllCommonlyUsedResponse,\n    LicensesGetAllCommonlyUsedError,\n    undefined,\n    {},\n    LicensesGetAllCommonlyUsedQueryParams,\n    {}\n  >({ url: '/licenses', method: 'get', ...variables, signal });\n\nexport const useLicensesGetAllCommonlyUsed = <\n  TData = LicensesGetAllCommonlyUsedResponse,\n>(\n  variables: LicensesGetAllCommonlyUsedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      LicensesGetAllCommonlyUsedResponse,\n      LicensesGetAllCommonlyUsedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    LicensesGetAllCommonlyUsedResponse,\n    LicensesGetAllCommonlyUsedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/licenses',\n      operationId: 'licensesGetAllCommonlyUsed',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchLicensesGetAllCommonlyUsed(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type LicensesGetPathParams = {\n  license: string;\n};\n\nexport type LicensesGetError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type LicensesGetVariables = {\n  pathParams: LicensesGetPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchLicensesGet = (\n  variables: LicensesGetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.License,\n    LicensesGetError,\n    undefined,\n    {},\n    {},\n    LicensesGetPathParams\n  >({ url: '/licenses/{license}', method: 'get', ...variables, signal });\n\nexport const useLicensesGet = <TData = Schemas.License>(\n  variables: LicensesGetVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.License, LicensesGetError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.License, LicensesGetError, TData>(\n    queryKeyFn({\n      path: '/licenses/{license}',\n      operationId: 'licensesGet',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchLicensesGet({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type MarkdownRenderError = Fetcher.ErrorWrapper<{\n  status: 304;\n  payload: Responses.NotModified;\n}>;\n\nexport type MarkdownRenderRequestBody = {\n  /**\n   * The repository context to use when creating references in `gfm` mode.\n   */\n  context?: string;\n  /**\n   * The rendering mode.\n   *\n   * @default markdown\n   * @example markdown\n   */\n  mode?: 'markdown' | 'gfm';\n  /**\n   * The Markdown text to render in HTML.\n   */\n  text: string;\n};\n\nexport type MarkdownRenderVariables = {\n  body: MarkdownRenderRequestBody;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchMarkdownRender = (\n  variables: MarkdownRenderVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    MarkdownRenderError,\n    MarkdownRenderRequestBody,\n    {},\n    {},\n    {}\n  >({ url: '/markdown', method: 'post', ...variables, signal });\n\nexport const useMarkdownRender = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      MarkdownRenderError,\n      MarkdownRenderVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    MarkdownRenderError,\n    MarkdownRenderVariables\n  >(\n    (variables: MarkdownRenderVariables) =>\n      fetchMarkdownRender({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type MarkdownRenderRawError = Fetcher.ErrorWrapper<{\n  status: 304;\n  payload: Responses.NotModified;\n}>;\n\nexport type MarkdownRenderRawVariables = GithubContext['fetcherOptions'];\n\n/**\n * You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less.\n */\nexport const fetchMarkdownRenderRaw = (\n  variables: MarkdownRenderRawVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<undefined, MarkdownRenderRawError, undefined, {}, {}, {}>({\n    url: '/markdown/raw',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less.\n */\nexport const useMarkdownRenderRaw = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      MarkdownRenderRawError,\n      MarkdownRenderRawVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    MarkdownRenderRawError,\n    MarkdownRenderRawVariables\n  >(\n    (variables: MarkdownRenderRawVariables) =>\n      fetchMarkdownRenderRaw({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsGetSubscriptionPlanForAccountPathParams = {\n  /**\n   * account_id parameter\n   */\n  accountId: number;\n};\n\nexport type AppsGetSubscriptionPlanForAccountError = Fetcher.ErrorWrapper<\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 404;\n      payload: Schemas.BasicError;\n    }\n>;\n\nexport type AppsGetSubscriptionPlanForAccountVariables = {\n  pathParams: AppsGetSubscriptionPlanForAccountPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n *\n * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.\n */\nexport const fetchAppsGetSubscriptionPlanForAccount = (\n  variables: AppsGetSubscriptionPlanForAccountVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.MarketplacePurchase,\n    AppsGetSubscriptionPlanForAccountError,\n    undefined,\n    {},\n    {},\n    AppsGetSubscriptionPlanForAccountPathParams\n  >({\n    url: '/marketplace_listing/accounts/{accountId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n *\n * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.\n */\nexport const useAppsGetSubscriptionPlanForAccount = <\n  TData = Schemas.MarketplacePurchase,\n>(\n  variables: AppsGetSubscriptionPlanForAccountVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.MarketplacePurchase,\n      AppsGetSubscriptionPlanForAccountError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.MarketplacePurchase,\n    AppsGetSubscriptionPlanForAccountError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/marketplace_listing/accounts/{account_id}',\n      operationId: 'appsGetSubscriptionPlanForAccount',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsGetSubscriptionPlanForAccount(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsListPlansQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type AppsListPlansError = Fetcher.ErrorWrapper<\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type AppsListPlansResponse = Schemas.MarketplaceListingPlan[];\n\nexport type AppsListPlansVariables = {\n  queryParams?: AppsListPlansQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all plans that are part of your GitHub Marketplace listing.\n *\n * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.\n */\nexport const fetchAppsListPlans = (\n  variables: AppsListPlansVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AppsListPlansResponse,\n    AppsListPlansError,\n    undefined,\n    {},\n    AppsListPlansQueryParams,\n    {}\n  >({ url: '/marketplace_listing/plans', method: 'get', ...variables, signal });\n\n/**\n * Lists all plans that are part of your GitHub Marketplace listing.\n *\n * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.\n */\nexport const useAppsListPlans = <TData = AppsListPlansResponse>(\n  variables: AppsListPlansVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      AppsListPlansResponse,\n      AppsListPlansError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<AppsListPlansResponse, AppsListPlansError, TData>(\n    queryKeyFn({\n      path: '/marketplace_listing/plans',\n      operationId: 'appsListPlans',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsListPlans({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsListAccountsForPlanPathParams = {\n  /**\n   * plan_id parameter\n   */\n  planId: number;\n};\n\nexport type AppsListAccountsForPlanQueryParams = {\n  /**\n   * One of `created` (when the repository was starred) or `updated` (when it was last pushed to).\n   *\n   * @default created\n   */\n  sort?: 'created' | 'updated';\n  /**\n   * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter.\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type AppsListAccountsForPlanError = Fetcher.ErrorWrapper<\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type AppsListAccountsForPlanResponse = Schemas.MarketplacePurchase[];\n\nexport type AppsListAccountsForPlanVariables = {\n  pathParams: AppsListAccountsForPlanPathParams;\n  queryParams?: AppsListAccountsForPlanQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n *\n * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.\n */\nexport const fetchAppsListAccountsForPlan = (\n  variables: AppsListAccountsForPlanVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AppsListAccountsForPlanResponse,\n    AppsListAccountsForPlanError,\n    undefined,\n    {},\n    AppsListAccountsForPlanQueryParams,\n    AppsListAccountsForPlanPathParams\n  >({\n    url: '/marketplace_listing/plans/{planId}/accounts',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n *\n * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.\n */\nexport const useAppsListAccountsForPlan = <\n  TData = AppsListAccountsForPlanResponse,\n>(\n  variables: AppsListAccountsForPlanVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      AppsListAccountsForPlanResponse,\n      AppsListAccountsForPlanError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    AppsListAccountsForPlanResponse,\n    AppsListAccountsForPlanError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/marketplace_listing/plans/{plan_id}/accounts',\n      operationId: 'appsListAccountsForPlan',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsListAccountsForPlan({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsGetSubscriptionPlanForAccountStubbedPathParams = {\n  /**\n   * account_id parameter\n   */\n  accountId: number;\n};\n\nexport type AppsGetSubscriptionPlanForAccountStubbedError =\n  Fetcher.ErrorWrapper<{\n    status: 401;\n    payload: Responses.RequiresAuthentication;\n  }>;\n\nexport type AppsGetSubscriptionPlanForAccountStubbedVariables = {\n  pathParams: AppsGetSubscriptionPlanForAccountStubbedPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n *\n * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.\n */\nexport const fetchAppsGetSubscriptionPlanForAccountStubbed = (\n  variables: AppsGetSubscriptionPlanForAccountStubbedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.MarketplacePurchase,\n    AppsGetSubscriptionPlanForAccountStubbedError,\n    undefined,\n    {},\n    {},\n    AppsGetSubscriptionPlanForAccountStubbedPathParams\n  >({\n    url: '/marketplace_listing/stubbed/accounts/{accountId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n *\n * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.\n */\nexport const useAppsGetSubscriptionPlanForAccountStubbed = <\n  TData = Schemas.MarketplacePurchase,\n>(\n  variables: AppsGetSubscriptionPlanForAccountStubbedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.MarketplacePurchase,\n      AppsGetSubscriptionPlanForAccountStubbedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.MarketplacePurchase,\n    AppsGetSubscriptionPlanForAccountStubbedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/marketplace_listing/stubbed/accounts/{account_id}',\n      operationId: 'appsGetSubscriptionPlanForAccountStubbed',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsGetSubscriptionPlanForAccountStubbed(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsListPlansStubbedQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type AppsListPlansStubbedError = Fetcher.ErrorWrapper<{\n  status: 401;\n  payload: Responses.RequiresAuthentication;\n}>;\n\nexport type AppsListPlansStubbedResponse = Schemas.MarketplaceListingPlan[];\n\nexport type AppsListPlansStubbedVariables = {\n  queryParams?: AppsListPlansStubbedQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all plans that are part of your GitHub Marketplace listing.\n *\n * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.\n */\nexport const fetchAppsListPlansStubbed = (\n  variables: AppsListPlansStubbedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AppsListPlansStubbedResponse,\n    AppsListPlansStubbedError,\n    undefined,\n    {},\n    AppsListPlansStubbedQueryParams,\n    {}\n  >({\n    url: '/marketplace_listing/stubbed/plans',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all plans that are part of your GitHub Marketplace listing.\n *\n * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.\n */\nexport const useAppsListPlansStubbed = <TData = AppsListPlansStubbedResponse>(\n  variables: AppsListPlansStubbedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      AppsListPlansStubbedResponse,\n      AppsListPlansStubbedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    AppsListPlansStubbedResponse,\n    AppsListPlansStubbedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/marketplace_listing/stubbed/plans',\n      operationId: 'appsListPlansStubbed',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsListPlansStubbed({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsListAccountsForPlanStubbedPathParams = {\n  /**\n   * plan_id parameter\n   */\n  planId: number;\n};\n\nexport type AppsListAccountsForPlanStubbedQueryParams = {\n  /**\n   * One of `created` (when the repository was starred) or `updated` (when it was last pushed to).\n   *\n   * @default created\n   */\n  sort?: 'created' | 'updated';\n  /**\n   * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter.\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type AppsListAccountsForPlanStubbedError = Fetcher.ErrorWrapper<{\n  status: 401;\n  payload: Responses.RequiresAuthentication;\n}>;\n\nexport type AppsListAccountsForPlanStubbedResponse =\n  Schemas.MarketplacePurchase[];\n\nexport type AppsListAccountsForPlanStubbedVariables = {\n  pathParams: AppsListAccountsForPlanStubbedPathParams;\n  queryParams?: AppsListAccountsForPlanStubbedQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n *\n * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.\n */\nexport const fetchAppsListAccountsForPlanStubbed = (\n  variables: AppsListAccountsForPlanStubbedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AppsListAccountsForPlanStubbedResponse,\n    AppsListAccountsForPlanStubbedError,\n    undefined,\n    {},\n    AppsListAccountsForPlanStubbedQueryParams,\n    AppsListAccountsForPlanStubbedPathParams\n  >({\n    url: '/marketplace_listing/stubbed/plans/{planId}/accounts',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change.\n *\n * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.\n */\nexport const useAppsListAccountsForPlanStubbed = <\n  TData = AppsListAccountsForPlanStubbedResponse,\n>(\n  variables: AppsListAccountsForPlanStubbedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      AppsListAccountsForPlanStubbedResponse,\n      AppsListAccountsForPlanStubbedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    AppsListAccountsForPlanStubbedResponse,\n    AppsListAccountsForPlanStubbedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/marketplace_listing/stubbed/plans/{plan_id}/accounts',\n      operationId: 'appsListAccountsForPlanStubbed',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsListAccountsForPlanStubbed(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type MetaGetError = Fetcher.ErrorWrapper<{\n  status: 304;\n  payload: Responses.NotModified;\n}>;\n\nexport type MetaGetVariables = GithubContext['fetcherOptions'];\n\n/**\n * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see \"[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/).\"\n *\n * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses.\n */\nexport const fetchMetaGet = (\n  variables: MetaGetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<Schemas.ApiOverview, MetaGetError, undefined, {}, {}, {}>({\n    url: '/meta',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see \"[About GitHub's IP addresses](https://help.github.com/articles/about-github-s-ip-addresses/).\"\n *\n * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses.\n */\nexport const useMetaGet = <TData = Schemas.ApiOverview>(\n  variables: MetaGetVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.ApiOverview, MetaGetError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.ApiOverview, MetaGetError, TData>(\n    queryKeyFn({ path: '/meta', operationId: 'metaGet', variables }),\n    ({ signal }) => fetchMetaGet({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityListPublicEventsForRepoNetworkPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActivityListPublicEventsForRepoNetworkQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListPublicEventsForRepoNetworkError = Fetcher.ErrorWrapper<\n  | {\n      status: 301;\n      payload: Responses.MovedPermanently;\n    }\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type ActivityListPublicEventsForRepoNetworkResponse = Schemas.Event[];\n\nexport type ActivityListPublicEventsForRepoNetworkVariables = {\n  pathParams: ActivityListPublicEventsForRepoNetworkPathParams;\n  queryParams?: ActivityListPublicEventsForRepoNetworkQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchActivityListPublicEventsForRepoNetwork = (\n  variables: ActivityListPublicEventsForRepoNetworkVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListPublicEventsForRepoNetworkResponse,\n    ActivityListPublicEventsForRepoNetworkError,\n    undefined,\n    {},\n    ActivityListPublicEventsForRepoNetworkQueryParams,\n    ActivityListPublicEventsForRepoNetworkPathParams\n  >({\n    url: '/networks/{owner}/{repo}/events',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useActivityListPublicEventsForRepoNetwork = <\n  TData = ActivityListPublicEventsForRepoNetworkResponse,\n>(\n  variables: ActivityListPublicEventsForRepoNetworkVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListPublicEventsForRepoNetworkResponse,\n      ActivityListPublicEventsForRepoNetworkError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListPublicEventsForRepoNetworkResponse,\n    ActivityListPublicEventsForRepoNetworkError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/networks/{owner}/{repo}/events',\n      operationId: 'activityListPublicEventsForRepoNetwork',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListPublicEventsForRepoNetwork(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityListNotificationsForAuthenticatedUserQueryParams = {\n  /**\n   * If `true`, show notifications marked as read.\n   *\n   * @default false\n   */\n  all?: boolean;\n  /**\n   * If `true`, only shows notifications in which the user is directly participating or mentioned.\n   *\n   * @default false\n   */\n  participating?: boolean;\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  before?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListNotificationsForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 422;\n        payload: Responses.ValidationFailed;\n      }\n  >;\n\nexport type ActivityListNotificationsForAuthenticatedUserResponse =\n  Schemas.Thread[];\n\nexport type ActivityListNotificationsForAuthenticatedUserVariables = {\n  queryParams?: ActivityListNotificationsForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List all notifications for the current user, sorted by most recently updated.\n */\nexport const fetchActivityListNotificationsForAuthenticatedUser = (\n  variables: ActivityListNotificationsForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListNotificationsForAuthenticatedUserResponse,\n    ActivityListNotificationsForAuthenticatedUserError,\n    undefined,\n    {},\n    ActivityListNotificationsForAuthenticatedUserQueryParams,\n    {}\n  >({ url: '/notifications', method: 'get', ...variables, signal });\n\n/**\n * List all notifications for the current user, sorted by most recently updated.\n */\nexport const useActivityListNotificationsForAuthenticatedUser = <\n  TData = ActivityListNotificationsForAuthenticatedUserResponse,\n>(\n  variables: ActivityListNotificationsForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListNotificationsForAuthenticatedUserResponse,\n      ActivityListNotificationsForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListNotificationsForAuthenticatedUserResponse,\n    ActivityListNotificationsForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/notifications',\n      operationId: 'activityListNotificationsForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListNotificationsForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityMarkNotificationsAsReadError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type ActivityMarkNotificationsAsReadResponse = {\n  message?: string;\n};\n\nexport type ActivityMarkNotificationsAsReadRequestBody = {\n  /**\n   * Describes the last point that notifications were checked.\n   *\n   * @format date-time\n   */\n  last_read_at?: string;\n  /**\n   * Whether the notification has been read.\n   */\n  read?: boolean;\n};\n\nexport type ActivityMarkNotificationsAsReadVariables = {\n  body?: ActivityMarkNotificationsAsReadRequestBody;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Marks all notifications as \"read\" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as \"read.\" To check whether any \"unread\" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`.\n */\nexport const fetchActivityMarkNotificationsAsRead = (\n  variables: ActivityMarkNotificationsAsReadVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityMarkNotificationsAsReadResponse,\n    ActivityMarkNotificationsAsReadError,\n    ActivityMarkNotificationsAsReadRequestBody,\n    {},\n    {},\n    {}\n  >({ url: '/notifications', method: 'put', ...variables, signal });\n\n/**\n * Marks all notifications as \"read\" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as \"read.\" To check whether any \"unread\" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`.\n */\nexport const useActivityMarkNotificationsAsRead = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ActivityMarkNotificationsAsReadResponse,\n      ActivityMarkNotificationsAsReadError,\n      ActivityMarkNotificationsAsReadVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ActivityMarkNotificationsAsReadResponse,\n    ActivityMarkNotificationsAsReadError,\n    ActivityMarkNotificationsAsReadVariables\n  >(\n    (variables: ActivityMarkNotificationsAsReadVariables) =>\n      fetchActivityMarkNotificationsAsRead({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActivityGetThreadPathParams = {\n  /**\n   * thread_id parameter\n   */\n  threadId: number;\n};\n\nexport type ActivityGetThreadError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type ActivityGetThreadVariables = {\n  pathParams: ActivityGetThreadPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchActivityGetThread = (\n  variables: ActivityGetThreadVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Thread,\n    ActivityGetThreadError,\n    undefined,\n    {},\n    {},\n    ActivityGetThreadPathParams\n  >({\n    url: '/notifications/threads/{threadId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useActivityGetThread = <TData = Schemas.Thread>(\n  variables: ActivityGetThreadVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.Thread, ActivityGetThreadError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Thread, ActivityGetThreadError, TData>(\n    queryKeyFn({\n      path: '/notifications/threads/{thread_id}',\n      operationId: 'activityGetThread',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityGetThread({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityMarkThreadAsReadPathParams = {\n  /**\n   * thread_id parameter\n   */\n  threadId: number;\n};\n\nexport type ActivityMarkThreadAsReadError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type ActivityMarkThreadAsReadVariables = {\n  pathParams: ActivityMarkThreadAsReadPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchActivityMarkThreadAsRead = (\n  variables: ActivityMarkThreadAsReadVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActivityMarkThreadAsReadError,\n    undefined,\n    {},\n    {},\n    ActivityMarkThreadAsReadPathParams\n  >({\n    url: '/notifications/threads/{threadId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\nexport const useActivityMarkThreadAsRead = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActivityMarkThreadAsReadError,\n      ActivityMarkThreadAsReadVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActivityMarkThreadAsReadError,\n    ActivityMarkThreadAsReadVariables\n  >(\n    (variables: ActivityMarkThreadAsReadVariables) =>\n      fetchActivityMarkThreadAsRead({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActivityDeleteThreadSubscriptionPathParams = {\n  /**\n   * thread_id parameter\n   */\n  threadId: number;\n};\n\nexport type ActivityDeleteThreadSubscriptionError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type ActivityDeleteThreadSubscriptionVariables = {\n  pathParams: ActivityDeleteThreadSubscriptionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`.\n */\nexport const fetchActivityDeleteThreadSubscription = (\n  variables: ActivityDeleteThreadSubscriptionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActivityDeleteThreadSubscriptionError,\n    undefined,\n    {},\n    {},\n    ActivityDeleteThreadSubscriptionPathParams\n  >({\n    url: '/notifications/threads/{threadId}/subscription',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`.\n */\nexport const useActivityDeleteThreadSubscription = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActivityDeleteThreadSubscriptionError,\n      ActivityDeleteThreadSubscriptionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActivityDeleteThreadSubscriptionError,\n    ActivityDeleteThreadSubscriptionVariables\n  >(\n    (variables: ActivityDeleteThreadSubscriptionVariables) =>\n      fetchActivityDeleteThreadSubscription({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActivityGetThreadSubscriptionForAuthenticatedUserPathParams = {\n  /**\n   * thread_id parameter\n   */\n  threadId: number;\n};\n\nexport type ActivityGetThreadSubscriptionForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n  >;\n\nexport type ActivityGetThreadSubscriptionForAuthenticatedUserVariables = {\n  pathParams: ActivityGetThreadSubscriptionForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription).\n *\n * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread.\n */\nexport const fetchActivityGetThreadSubscriptionForAuthenticatedUser = (\n  variables: ActivityGetThreadSubscriptionForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ThreadSubscription,\n    ActivityGetThreadSubscriptionForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    ActivityGetThreadSubscriptionForAuthenticatedUserPathParams\n  >({\n    url: '/notifications/threads/{threadId}/subscription',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription).\n *\n * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread.\n */\nexport const useActivityGetThreadSubscriptionForAuthenticatedUser = <\n  TData = Schemas.ThreadSubscription,\n>(\n  variables: ActivityGetThreadSubscriptionForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ThreadSubscription,\n      ActivityGetThreadSubscriptionForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ThreadSubscription,\n    ActivityGetThreadSubscriptionForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/notifications/threads/{thread_id}/subscription',\n      operationId: 'activityGetThreadSubscriptionForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityGetThreadSubscriptionForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivitySetThreadSubscriptionPathParams = {\n  /**\n   * thread_id parameter\n   */\n  threadId: number;\n};\n\nexport type ActivitySetThreadSubscriptionError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type ActivitySetThreadSubscriptionRequestBody = {\n  /**\n   * Whether to block all notifications from a thread.\n   *\n   * @default false\n   */\n  ignored?: boolean;\n};\n\nexport type ActivitySetThreadSubscriptionVariables = {\n  body?: ActivitySetThreadSubscriptionRequestBody;\n  pathParams: ActivitySetThreadSubscriptionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**.\n *\n * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored.\n *\n * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint.\n */\nexport const fetchActivitySetThreadSubscription = (\n  variables: ActivitySetThreadSubscriptionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ThreadSubscription,\n    ActivitySetThreadSubscriptionError,\n    ActivitySetThreadSubscriptionRequestBody,\n    {},\n    {},\n    ActivitySetThreadSubscriptionPathParams\n  >({\n    url: '/notifications/threads/{threadId}/subscription',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**.\n *\n * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored.\n *\n * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint.\n */\nexport const useActivitySetThreadSubscription = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ThreadSubscription,\n      ActivitySetThreadSubscriptionError,\n      ActivitySetThreadSubscriptionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ThreadSubscription,\n    ActivitySetThreadSubscriptionError,\n    ActivitySetThreadSubscriptionVariables\n  >(\n    (variables: ActivitySetThreadSubscriptionVariables) =>\n      fetchActivitySetThreadSubscription({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type MetaGetOctocatQueryParams = {\n  /**\n   * The words to show in Octocat's speech bubble\n   */\n  s?: string;\n};\n\nexport type MetaGetOctocatError = Fetcher.ErrorWrapper<undefined>;\n\nexport type MetaGetOctocatVariables = {\n  queryParams?: MetaGetOctocatQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Get the octocat as ASCII art\n */\nexport const fetchMetaGetOctocat = (\n  variables: MetaGetOctocatVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    MetaGetOctocatError,\n    undefined,\n    {},\n    MetaGetOctocatQueryParams,\n    {}\n  >({ url: '/octocat', method: 'get', ...variables, signal });\n\n/**\n * Get the octocat as ASCII art\n */\nexport const useMetaGetOctocat = <TData = undefined>(\n  variables: MetaGetOctocatVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<undefined, MetaGetOctocatError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<undefined, MetaGetOctocatError, TData>(\n    queryKeyFn({ path: '/octocat', operationId: 'metaGetOctocat', variables }),\n    ({ signal }) =>\n      fetchMetaGetOctocat({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsListQueryParams = {\n  /**\n   * An organization ID. Only return organizations with an ID greater than this ID.\n   */\n  since?: number;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n};\n\nexport type OrgsListError = Fetcher.ErrorWrapper<{\n  status: 304;\n  payload: Responses.NotModified;\n}>;\n\nexport type OrgsListResponse = Schemas.OrganizationSimple[];\n\nexport type OrgsListVariables = {\n  queryParams?: OrgsListQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all organizations, in the order that they were created on GitHub.\n *\n * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations.\n */\nexport const fetchOrgsList = (\n  variables: OrgsListVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListResponse,\n    OrgsListError,\n    undefined,\n    {},\n    OrgsListQueryParams,\n    {}\n  >({ url: '/organizations', method: 'get', ...variables, signal });\n\n/**\n * Lists all organizations, in the order that they were created on GitHub.\n *\n * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations.\n */\nexport const useOrgsList = <TData = OrgsListResponse>(\n  variables: OrgsListVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<OrgsListResponse, OrgsListError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<OrgsListResponse, OrgsListError, TData>(\n    queryKeyFn({ path: '/organizations', operationId: 'orgsList', variables }),\n    ({ signal }) => fetchOrgsList({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsGetPathParams = {\n  org: string;\n};\n\nexport type OrgsGetError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type OrgsGetVariables = {\n  pathParams: OrgsGetPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/).\n *\n * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See \"[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)\" for details. For an example response, see 'Response with GitHub plan information' below.\"\n */\nexport const fetchOrgsGet = (\n  variables: OrgsGetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.OrganizationFull,\n    OrgsGetError,\n    undefined,\n    {},\n    {},\n    OrgsGetPathParams\n  >({ url: '/orgs/{org}', method: 'get', ...variables, signal });\n\n/**\n * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/).\n *\n * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See \"[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)\" for details. For an example response, see 'Response with GitHub plan information' below.\"\n */\nexport const useOrgsGet = <TData = Schemas.OrganizationFull>(\n  variables: OrgsGetVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.OrganizationFull, OrgsGetError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.OrganizationFull, OrgsGetError, TData>(\n    queryKeyFn({ path: '/orgs/{org}', operationId: 'orgsGet', variables }),\n    ({ signal }) => fetchOrgsGet({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsUpdatePathParams = {\n  org: string;\n};\n\nexport type OrgsUpdateError = Fetcher.ErrorWrapper<\n  | {\n      status: 409;\n      payload: Responses.Conflict;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Schemas.ValidationError | Schemas.ValidationErrorSimple;\n    }\n>;\n\nexport type OrgsUpdateRequestBody = {\n  /**\n   * Billing email address. This address is not publicized.\n   */\n  billing_email?: string;\n  /**\n   * @example \"http://github.blog\"\n   */\n  blog?: string;\n  /**\n   * The company name.\n   */\n  company?: string;\n  /**\n   * Default permission level members have for organization repositories:\n   * \\* `read` - can pull, but not push to or administer this repository.\n   * \\* `write` - can pull and push, but not administer this repository.\n   * \\* `admin` - can pull, push, and administer this repository.\n   * \\* `none` - no permissions granted by default.\n   *\n   * @default read\n   */\n  default_repository_permission?: 'read' | 'write' | 'admin' | 'none';\n  /**\n   * The description of the company.\n   */\n  description?: string;\n  /**\n   * The publicly visible email address.\n   */\n  email?: string;\n  /**\n   * Toggles whether an organization can use organization projects.\n   */\n  has_organization_projects?: boolean;\n  /**\n   * Toggles whether repositories that belong to the organization can use repository projects.\n   */\n  has_repository_projects?: boolean;\n  /**\n   * The location.\n   */\n  location?: string;\n  /**\n   * Specifies which types of repositories non-admin organization members can create. Can be one of:\n   * \\* `all` - all organization members can create public and private repositories.\n   * \\* `private` - members can create private repositories. This option is only available to repositories that are part of an organization on GitHub Enterprise Cloud.\n   * \\* `none` - only admin members can create repositories.\n   * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details.\n   */\n  members_allowed_repository_creation_type?: 'all' | 'private' | 'none';\n  /**\n   * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. Can be one of:\n   * \\* `true` - all organization members can create internal repositories.\n   * \\* `false` - only organization owners can create internal repositories.\n   * Default: `true`. For more information, see \"[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation.\n   */\n  members_can_create_internal_repositories?: boolean;\n  /**\n   * Toggles whether organization members can create GitHub Pages sites. Can be one of:\n   * \\* `true` - all organization members can create GitHub Pages sites.\n   * \\* `false` - no organization members can create GitHub Pages sites. Existing published sites will not be impacted.\n   *\n   * @default true\n   */\n  members_can_create_pages?: boolean;\n  /**\n   * Toggles whether organization members can create private GitHub Pages sites. Can be one of:\n   * \\* `true` - all organization members can create private GitHub Pages sites.\n   * \\* `false` - no organization members can create private GitHub Pages sites. Existing published sites will not be impacted.\n   *\n   * @default true\n   */\n  members_can_create_private_pages?: boolean;\n  /**\n   * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of:\n   * \\* `true` - all organization members can create private repositories.\n   * \\* `false` - only organization owners can create private repositories.\n   * Default: `true`. For more information, see \"[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation.\n   */\n  members_can_create_private_repositories?: boolean;\n  /**\n   * Toggles whether organization members can create public GitHub Pages sites. Can be one of:\n   * \\* `true` - all organization members can create public GitHub Pages sites.\n   * \\* `false` - no organization members can create public GitHub Pages sites. Existing published sites will not be impacted.\n   *\n   * @default true\n   */\n  members_can_create_public_pages?: boolean;\n  /**\n   * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of:\n   * \\* `true` - all organization members can create public repositories.\n   * \\* `false` - only organization owners can create public repositories.\n   * Default: `true`. For more information, see \"[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation.\n   */\n  members_can_create_public_repositories?: boolean;\n  /**\n   * Toggles the ability of non-admin organization members to create repositories. Can be one of:\n   * \\* `true` - all organization members can create repositories.\n   * \\* `false` - only organization owners can create repositories.\n   * Default: `true`\n   * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details.\n   *\n   * @default true\n   */\n  members_can_create_repositories?: boolean;\n  /**\n   * The shorthand name of the company.\n   */\n  name?: string;\n  /**\n   * The Twitter username of the company.\n   */\n  twitter_username?: string;\n};\n\nexport type OrgsUpdateVariables = {\n  body?: OrgsUpdateRequestBody;\n  pathParams: OrgsUpdatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes).\n *\n * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges.\n */\nexport const fetchOrgsUpdate = (\n  variables: OrgsUpdateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.OrganizationFull,\n    OrgsUpdateError,\n    OrgsUpdateRequestBody,\n    {},\n    {},\n    OrgsUpdatePathParams\n  >({ url: '/orgs/{org}', method: 'patch', ...variables, signal });\n\n/**\n * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes).\n *\n * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges.\n */\nexport const useOrgsUpdate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.OrganizationFull,\n      OrgsUpdateError,\n      OrgsUpdateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.OrganizationFull,\n    OrgsUpdateError,\n    OrgsUpdateVariables\n  >(\n    (variables: OrgsUpdateVariables) =>\n      fetchOrgsUpdate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsGetGithubActionsPermissionsOrganizationPathParams = {\n  org: string;\n};\n\nexport type ActionsGetGithubActionsPermissionsOrganizationError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetGithubActionsPermissionsOrganizationVariables = {\n  pathParams: ActionsGetGithubActionsPermissionsOrganizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const fetchActionsGetGithubActionsPermissionsOrganization = (\n  variables: ActionsGetGithubActionsPermissionsOrganizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ActionsOrganizationPermissions,\n    ActionsGetGithubActionsPermissionsOrganizationError,\n    undefined,\n    {},\n    {},\n    ActionsGetGithubActionsPermissionsOrganizationPathParams\n  >({\n    url: '/orgs/{org}/actions/permissions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const useActionsGetGithubActionsPermissionsOrganization = <\n  TData = Schemas.ActionsOrganizationPermissions,\n>(\n  variables: ActionsGetGithubActionsPermissionsOrganizationVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ActionsOrganizationPermissions,\n      ActionsGetGithubActionsPermissionsOrganizationError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ActionsOrganizationPermissions,\n    ActionsGetGithubActionsPermissionsOrganizationError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/permissions',\n      operationId: 'actionsGetGithubActionsPermissionsOrganization',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetGithubActionsPermissionsOrganization(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsSetGithubActionsPermissionsOrganizationPathParams = {\n  org: string;\n};\n\nexport type ActionsSetGithubActionsPermissionsOrganizationError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsSetGithubActionsPermissionsOrganizationRequestBody = {\n  allowed_actions?: Schemas.AllowedActions;\n  enabled_repositories: Schemas.EnabledRepositories;\n};\n\nexport type ActionsSetGithubActionsPermissionsOrganizationVariables = {\n  body: ActionsSetGithubActionsPermissionsOrganizationRequestBody;\n  pathParams: ActionsSetGithubActionsPermissionsOrganizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n *\n * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const fetchActionsSetGithubActionsPermissionsOrganization = (\n  variables: ActionsSetGithubActionsPermissionsOrganizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsSetGithubActionsPermissionsOrganizationError,\n    ActionsSetGithubActionsPermissionsOrganizationRequestBody,\n    {},\n    {},\n    ActionsSetGithubActionsPermissionsOrganizationPathParams\n  >({\n    url: '/orgs/{org}/actions/permissions',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization.\n *\n * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions, then you cannot override them for the organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const useActionsSetGithubActionsPermissionsOrganization = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsSetGithubActionsPermissionsOrganizationError,\n      ActionsSetGithubActionsPermissionsOrganizationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsSetGithubActionsPermissionsOrganizationError,\n    ActionsSetGithubActionsPermissionsOrganizationVariables\n  >(\n    (variables: ActionsSetGithubActionsPermissionsOrganizationVariables) =>\n      fetchActionsSetGithubActionsPermissionsOrganization({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationPathParams =\n  {\n    org: string;\n  };\n\nexport type ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationQueryParams =\n  {\n    /**\n     * Results per page (max 100).\n     *\n     * @default 30\n     */\n    per_page?: number;\n    /**\n     * Page number of the results to fetch.\n     *\n     * @default 1\n     */\n    page?: number;\n  };\n\nexport type ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationResponse =\n  {\n    repositories: Schemas.Repository[];\n    total_count: number;\n  };\n\nexport type ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationVariables =\n  {\n    pathParams: ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationPathParams;\n    queryParams?: ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationQueryParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const fetchActionsListSelectedRepositoriesEnabledGithubActionsOrganization =\n  (\n    variables: ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationResponse,\n      ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationError,\n      undefined,\n      {},\n      ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationQueryParams,\n      ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationPathParams\n    >({\n      url: '/orgs/{org}/actions/permissions/repositories',\n      method: 'get',\n      ...variables,\n      signal,\n    });\n\n/**\n * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const useActionsListSelectedRepositoriesEnabledGithubActionsOrganization =\n  <\n    TData = ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationResponse,\n  >(\n    variables: ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationVariables,\n    options?: Omit<\n      reactQuery.UseQueryOptions<\n        ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationResponse,\n        ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationError,\n        TData\n      >,\n      'queryKey' | 'queryFn'\n    >,\n  ) => {\n    const { fetcherOptions, queryOptions, queryKeyFn } =\n      useGithubContext(options);\n    return reactQuery.useQuery<\n      ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationResponse,\n      ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationError,\n      TData\n    >(\n      queryKeyFn({\n        path: '/orgs/{org}/actions/permissions/repositories',\n        operationId:\n          'actionsListSelectedRepositoriesEnabledGithubActionsOrganization',\n        variables,\n      }),\n      ({ signal }) =>\n        fetchActionsListSelectedRepositoriesEnabledGithubActionsOrganization(\n          { ...fetcherOptions, ...variables },\n          signal,\n        ),\n      {\n        ...options,\n        ...queryOptions,\n      },\n    );\n  };\n\nexport type ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationPathParams =\n  {\n    org: string;\n  };\n\nexport type ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationRequestBody =\n  {\n    /**\n     * List of repository IDs to enable for GitHub Actions.\n     */\n    selected_repository_ids: number[];\n  };\n\nexport type ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationVariables =\n  {\n    body: ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationRequestBody;\n    pathParams: ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationPathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const fetchActionsSetSelectedRepositoriesEnabledGithubActionsOrganization =\n  (\n    variables: ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      undefined,\n      ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationError,\n      ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationRequestBody,\n      {},\n      {},\n      ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationPathParams\n    >({\n      url: '/orgs/{org}/actions/permissions/repositories',\n      method: 'put',\n      ...variables,\n      signal,\n    });\n\n/**\n * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const useActionsSetSelectedRepositoriesEnabledGithubActionsOrganization =\n  (\n    options?: Omit<\n      reactQuery.UseMutationOptions<\n        undefined,\n        ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationError,\n        ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationVariables\n      >,\n      'mutationFn'\n    >,\n  ) => {\n    const { fetcherOptions } = useGithubContext();\n    return reactQuery.useMutation<\n      undefined,\n      ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationError,\n      ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationVariables\n    >(\n      (\n        variables: ActionsSetSelectedRepositoriesEnabledGithubActionsOrganizationVariables,\n      ) =>\n        fetchActionsSetSelectedRepositoriesEnabledGithubActionsOrganization({\n          ...fetcherOptions,\n          ...variables,\n        }),\n      options,\n    );\n  };\n\nexport type ActionsDisableSelectedRepositoryGithubActionsOrganizationPathParams =\n  {\n    org: string;\n    repositoryId: number;\n  };\n\nexport type ActionsDisableSelectedRepositoryGithubActionsOrganizationError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDisableSelectedRepositoryGithubActionsOrganizationVariables =\n  {\n    pathParams: ActionsDisableSelectedRepositoryGithubActionsOrganizationPathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const fetchActionsDisableSelectedRepositoryGithubActionsOrganization = (\n  variables: ActionsDisableSelectedRepositoryGithubActionsOrganizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDisableSelectedRepositoryGithubActionsOrganizationError,\n    undefined,\n    {},\n    {},\n    ActionsDisableSelectedRepositoryGithubActionsOrganizationPathParams\n  >({\n    url: '/orgs/{org}/actions/permissions/repositories/{repositoryId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const useActionsDisableSelectedRepositoryGithubActionsOrganization = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsDisableSelectedRepositoryGithubActionsOrganizationError,\n      ActionsDisableSelectedRepositoryGithubActionsOrganizationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsDisableSelectedRepositoryGithubActionsOrganizationError,\n    ActionsDisableSelectedRepositoryGithubActionsOrganizationVariables\n  >(\n    (\n      variables: ActionsDisableSelectedRepositoryGithubActionsOrganizationVariables,\n    ) =>\n      fetchActionsDisableSelectedRepositoryGithubActionsOrganization({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsEnableSelectedRepositoryGithubActionsOrganizationPathParams =\n  {\n    org: string;\n    repositoryId: number;\n  };\n\nexport type ActionsEnableSelectedRepositoryGithubActionsOrganizationError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsEnableSelectedRepositoryGithubActionsOrganizationVariables =\n  {\n    pathParams: ActionsEnableSelectedRepositoryGithubActionsOrganizationPathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const fetchActionsEnableSelectedRepositoryGithubActionsOrganization = (\n  variables: ActionsEnableSelectedRepositoryGithubActionsOrganizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsEnableSelectedRepositoryGithubActionsOrganizationError,\n    undefined,\n    {},\n    {},\n    ActionsEnableSelectedRepositoryGithubActionsOrganizationPathParams\n  >({\n    url: '/orgs/{org}/actions/permissions/repositories/{repositoryId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const useActionsEnableSelectedRepositoryGithubActionsOrganization = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsEnableSelectedRepositoryGithubActionsOrganizationError,\n      ActionsEnableSelectedRepositoryGithubActionsOrganizationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsEnableSelectedRepositoryGithubActionsOrganizationError,\n    ActionsEnableSelectedRepositoryGithubActionsOrganizationVariables\n  >(\n    (\n      variables: ActionsEnableSelectedRepositoryGithubActionsOrganizationVariables,\n    ) =>\n      fetchActionsEnableSelectedRepositoryGithubActionsOrganization({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsGetAllowedActionsOrganizationPathParams = {\n  org: string;\n};\n\nexport type ActionsGetAllowedActionsOrganizationError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetAllowedActionsOrganizationVariables = {\n  pathParams: ActionsGetAllowedActionsOrganizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\"\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const fetchActionsGetAllowedActionsOrganization = (\n  variables: ActionsGetAllowedActionsOrganizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.SelectedActions,\n    ActionsGetAllowedActionsOrganizationError,\n    undefined,\n    {},\n    {},\n    ActionsGetAllowedActionsOrganizationPathParams\n  >({\n    url: '/orgs/{org}/actions/permissions/selected-actions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\"\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const useActionsGetAllowedActionsOrganization = <\n  TData = Schemas.SelectedActions,\n>(\n  variables: ActionsGetAllowedActionsOrganizationVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.SelectedActions,\n      ActionsGetAllowedActionsOrganizationError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.SelectedActions,\n    ActionsGetAllowedActionsOrganizationError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/permissions/selected-actions',\n      operationId: 'actionsGetAllowedActionsOrganization',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetAllowedActionsOrganization(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsSetAllowedActionsOrganizationPathParams = {\n  org: string;\n};\n\nexport type ActionsSetAllowedActionsOrganizationError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsSetAllowedActionsOrganizationVariables = {\n  body: Schemas.SelectedActions;\n  pathParams: ActionsSetAllowedActionsOrganizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n *\n * If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings.\n *\n * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const fetchActionsSetAllowedActionsOrganization = (\n  variables: ActionsSetAllowedActionsOrganizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsSetAllowedActionsOrganizationError,\n    Schemas.SelectedActions,\n    {},\n    {},\n    ActionsSetAllowedActionsOrganizationPathParams\n  >({\n    url: '/orgs/{org}/actions/permissions/selected-actions',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization).\"\n *\n * If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings.\n *\n * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.\n */\nexport const useActionsSetAllowedActionsOrganization = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsSetAllowedActionsOrganizationError,\n      ActionsSetAllowedActionsOrganizationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsSetAllowedActionsOrganizationError,\n    ActionsSetAllowedActionsOrganizationVariables\n  >(\n    (variables: ActionsSetAllowedActionsOrganizationVariables) =>\n      fetchActionsSetAllowedActionsOrganization({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsListSelfHostedRunnerGroupsForOrgPathParams = {\n  org: string;\n};\n\nexport type ActionsListSelfHostedRunnerGroupsForOrgQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListSelfHostedRunnerGroupsForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListSelfHostedRunnerGroupsForOrgResponse = {\n  runner_groups: Schemas.RunnerGroupsOrg[];\n  total_count: number;\n};\n\nexport type ActionsListSelfHostedRunnerGroupsForOrgVariables = {\n  pathParams: ActionsListSelfHostedRunnerGroupsForOrgPathParams;\n  queryParams?: ActionsListSelfHostedRunnerGroupsForOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsListSelfHostedRunnerGroupsForOrg = (\n  variables: ActionsListSelfHostedRunnerGroupsForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListSelfHostedRunnerGroupsForOrgResponse,\n    ActionsListSelfHostedRunnerGroupsForOrgError,\n    undefined,\n    {},\n    ActionsListSelfHostedRunnerGroupsForOrgQueryParams,\n    ActionsListSelfHostedRunnerGroupsForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsListSelfHostedRunnerGroupsForOrg = <\n  TData = ActionsListSelfHostedRunnerGroupsForOrgResponse,\n>(\n  variables: ActionsListSelfHostedRunnerGroupsForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListSelfHostedRunnerGroupsForOrgResponse,\n      ActionsListSelfHostedRunnerGroupsForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListSelfHostedRunnerGroupsForOrgResponse,\n    ActionsListSelfHostedRunnerGroupsForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/runner-groups',\n      operationId: 'actionsListSelfHostedRunnerGroupsForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListSelfHostedRunnerGroupsForOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsCreateSelfHostedRunnerGroupForOrgPathParams = {\n  org: string;\n};\n\nexport type ActionsCreateSelfHostedRunnerGroupForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsCreateSelfHostedRunnerGroupForOrgRequestBody = {\n  /**\n   * Name of the runner group.\n   */\n  name: string;\n  /**\n   * List of runner IDs to add to the runner group.\n   */\n  runners?: number[];\n  /**\n   * List of repository IDs that can access the runner group.\n   */\n  selected_repository_ids?: number[];\n  /**\n   * Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. Can be one of: `all`, `selected`, or `private`.\n   *\n   * @default all\n   */\n  visibility?: 'selected' | 'all' | 'private';\n};\n\nexport type ActionsCreateSelfHostedRunnerGroupForOrgVariables = {\n  body: ActionsCreateSelfHostedRunnerGroupForOrgRequestBody;\n  pathParams: ActionsCreateSelfHostedRunnerGroupForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Creates a new self-hosted runner group for an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsCreateSelfHostedRunnerGroupForOrg = (\n  variables: ActionsCreateSelfHostedRunnerGroupForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RunnerGroupsOrg,\n    ActionsCreateSelfHostedRunnerGroupForOrgError,\n    ActionsCreateSelfHostedRunnerGroupForOrgRequestBody,\n    {},\n    {},\n    ActionsCreateSelfHostedRunnerGroupForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Creates a new self-hosted runner group for an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsCreateSelfHostedRunnerGroupForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.RunnerGroupsOrg,\n      ActionsCreateSelfHostedRunnerGroupForOrgError,\n      ActionsCreateSelfHostedRunnerGroupForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.RunnerGroupsOrg,\n    ActionsCreateSelfHostedRunnerGroupForOrgError,\n    ActionsCreateSelfHostedRunnerGroupForOrgVariables\n  >(\n    (variables: ActionsCreateSelfHostedRunnerGroupForOrgVariables) =>\n      fetchActionsCreateSelfHostedRunnerGroupForOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsDeleteSelfHostedRunnerGroupFromOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n};\n\nexport type ActionsDeleteSelfHostedRunnerGroupFromOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDeleteSelfHostedRunnerGroupFromOrgVariables = {\n  pathParams: ActionsDeleteSelfHostedRunnerGroupFromOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Deletes a self-hosted runner group for an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsDeleteSelfHostedRunnerGroupFromOrg = (\n  variables: ActionsDeleteSelfHostedRunnerGroupFromOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDeleteSelfHostedRunnerGroupFromOrgError,\n    undefined,\n    {},\n    {},\n    ActionsDeleteSelfHostedRunnerGroupFromOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups/{runnerGroupId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Deletes a self-hosted runner group for an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsDeleteSelfHostedRunnerGroupFromOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsDeleteSelfHostedRunnerGroupFromOrgError,\n      ActionsDeleteSelfHostedRunnerGroupFromOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsDeleteSelfHostedRunnerGroupFromOrgError,\n    ActionsDeleteSelfHostedRunnerGroupFromOrgVariables\n  >(\n    (variables: ActionsDeleteSelfHostedRunnerGroupFromOrgVariables) =>\n      fetchActionsDeleteSelfHostedRunnerGroupFromOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsGetSelfHostedRunnerGroupForOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n};\n\nexport type ActionsGetSelfHostedRunnerGroupForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetSelfHostedRunnerGroupForOrgVariables = {\n  pathParams: ActionsGetSelfHostedRunnerGroupForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Gets a specific self-hosted runner group for an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsGetSelfHostedRunnerGroupForOrg = (\n  variables: ActionsGetSelfHostedRunnerGroupForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RunnerGroupsOrg,\n    ActionsGetSelfHostedRunnerGroupForOrgError,\n    undefined,\n    {},\n    {},\n    ActionsGetSelfHostedRunnerGroupForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups/{runnerGroupId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Gets a specific self-hosted runner group for an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsGetSelfHostedRunnerGroupForOrg = <\n  TData = Schemas.RunnerGroupsOrg,\n>(\n  variables: ActionsGetSelfHostedRunnerGroupForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.RunnerGroupsOrg,\n      ActionsGetSelfHostedRunnerGroupForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.RunnerGroupsOrg,\n    ActionsGetSelfHostedRunnerGroupForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/runner-groups/{runner_group_id}',\n      operationId: 'actionsGetSelfHostedRunnerGroupForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetSelfHostedRunnerGroupForOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsUpdateSelfHostedRunnerGroupForOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n};\n\nexport type ActionsUpdateSelfHostedRunnerGroupForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsUpdateSelfHostedRunnerGroupForOrgRequestBody = {\n  /**\n   * Name of the runner group.\n   */\n  name?: string;\n  /**\n   * Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. Can be one of: `all`, `selected`, or `private`.\n   */\n  visibility?: 'selected' | 'all' | 'private';\n};\n\nexport type ActionsUpdateSelfHostedRunnerGroupForOrgVariables = {\n  body?: ActionsUpdateSelfHostedRunnerGroupForOrgRequestBody;\n  pathParams: ActionsUpdateSelfHostedRunnerGroupForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Updates the `name` and `visibility` of a self-hosted runner group in an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsUpdateSelfHostedRunnerGroupForOrg = (\n  variables: ActionsUpdateSelfHostedRunnerGroupForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RunnerGroupsOrg,\n    ActionsUpdateSelfHostedRunnerGroupForOrgError,\n    ActionsUpdateSelfHostedRunnerGroupForOrgRequestBody,\n    {},\n    {},\n    ActionsUpdateSelfHostedRunnerGroupForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups/{runnerGroupId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Updates the `name` and `visibility` of a self-hosted runner group in an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsUpdateSelfHostedRunnerGroupForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.RunnerGroupsOrg,\n      ActionsUpdateSelfHostedRunnerGroupForOrgError,\n      ActionsUpdateSelfHostedRunnerGroupForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.RunnerGroupsOrg,\n    ActionsUpdateSelfHostedRunnerGroupForOrgError,\n    ActionsUpdateSelfHostedRunnerGroupForOrgVariables\n  >(\n    (variables: ActionsUpdateSelfHostedRunnerGroupForOrgVariables) =>\n      fetchActionsUpdateSelfHostedRunnerGroupForOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsListRepoAccessToSelfHostedRunnerGroupInOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n};\n\nexport type ActionsListRepoAccessToSelfHostedRunnerGroupInOrgQueryParams = {\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n};\n\nexport type ActionsListRepoAccessToSelfHostedRunnerGroupInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListRepoAccessToSelfHostedRunnerGroupInOrgResponse = {\n  repositories: Schemas.Repository[];\n  total_count: number;\n};\n\nexport type ActionsListRepoAccessToSelfHostedRunnerGroupInOrgVariables = {\n  pathParams: ActionsListRepoAccessToSelfHostedRunnerGroupInOrgPathParams;\n  queryParams?: ActionsListRepoAccessToSelfHostedRunnerGroupInOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Lists the repositories with access to a self-hosted runner group configured in an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsListRepoAccessToSelfHostedRunnerGroupInOrg = (\n  variables: ActionsListRepoAccessToSelfHostedRunnerGroupInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListRepoAccessToSelfHostedRunnerGroupInOrgResponse,\n    ActionsListRepoAccessToSelfHostedRunnerGroupInOrgError,\n    undefined,\n    {},\n    ActionsListRepoAccessToSelfHostedRunnerGroupInOrgQueryParams,\n    ActionsListRepoAccessToSelfHostedRunnerGroupInOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups/{runnerGroupId}/repositories',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Lists the repositories with access to a self-hosted runner group configured in an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsListRepoAccessToSelfHostedRunnerGroupInOrg = <\n  TData = ActionsListRepoAccessToSelfHostedRunnerGroupInOrgResponse,\n>(\n  variables: ActionsListRepoAccessToSelfHostedRunnerGroupInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListRepoAccessToSelfHostedRunnerGroupInOrgResponse,\n      ActionsListRepoAccessToSelfHostedRunnerGroupInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListRepoAccessToSelfHostedRunnerGroupInOrgResponse,\n    ActionsListRepoAccessToSelfHostedRunnerGroupInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories',\n      operationId: 'actionsListRepoAccessToSelfHostedRunnerGroupInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListRepoAccessToSelfHostedRunnerGroupInOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n};\n\nexport type ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgRequestBody = {\n  /**\n   * List of repository IDs that can access the runner group.\n   */\n  selected_repository_ids: number[];\n};\n\nexport type ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgVariables = {\n  body: ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgRequestBody;\n  pathParams: ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsSetRepoAccessToSelfHostedRunnerGroupInOrg = (\n  variables: ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgError,\n    ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgRequestBody,\n    {},\n    {},\n    ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups/{runnerGroupId}/repositories',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsSetRepoAccessToSelfHostedRunnerGroupInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgError,\n      ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgError,\n    ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgVariables\n  >(\n    (variables: ActionsSetRepoAccessToSelfHostedRunnerGroupInOrgVariables) =>\n      fetchActionsSetRepoAccessToSelfHostedRunnerGroupInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n  repositoryId: number;\n};\n\nexport type ActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrgVariables = {\n  pathParams: ActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n *\n * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization).\"\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrg = (\n  variables: ActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrgError,\n    undefined,\n    {},\n    {},\n    ActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups/{runnerGroupId}/repositories/{repositoryId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n *\n * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization).\"\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrgError,\n      ActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrgError,\n    ActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrgVariables\n  >(\n    (variables: ActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrgVariables) =>\n      fetchActionsRemoveRepoAccessToSelfHostedRunnerGroupInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsAddRepoAccessToSelfHostedRunnerGroupInOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n  repositoryId: number;\n};\n\nexport type ActionsAddRepoAccessToSelfHostedRunnerGroupInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsAddRepoAccessToSelfHostedRunnerGroupInOrgVariables = {\n  pathParams: ActionsAddRepoAccessToSelfHostedRunnerGroupInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n *\n * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization).\"\n *\n * You must authenticate using an access token with the `admin:org`\n * scope to use this endpoint.\n */\nexport const fetchActionsAddRepoAccessToSelfHostedRunnerGroupInOrg = (\n  variables: ActionsAddRepoAccessToSelfHostedRunnerGroupInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsAddRepoAccessToSelfHostedRunnerGroupInOrgError,\n    undefined,\n    {},\n    {},\n    ActionsAddRepoAccessToSelfHostedRunnerGroupInOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups/{runnerGroupId}/repositories/{repositoryId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n *\n * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see \"[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization).\"\n *\n * You must authenticate using an access token with the `admin:org`\n * scope to use this endpoint.\n */\nexport const useActionsAddRepoAccessToSelfHostedRunnerGroupInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsAddRepoAccessToSelfHostedRunnerGroupInOrgError,\n      ActionsAddRepoAccessToSelfHostedRunnerGroupInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsAddRepoAccessToSelfHostedRunnerGroupInOrgError,\n    ActionsAddRepoAccessToSelfHostedRunnerGroupInOrgVariables\n  >(\n    (variables: ActionsAddRepoAccessToSelfHostedRunnerGroupInOrgVariables) =>\n      fetchActionsAddRepoAccessToSelfHostedRunnerGroupInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsListSelfHostedRunnersInGroupForOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n};\n\nexport type ActionsListSelfHostedRunnersInGroupForOrgQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListSelfHostedRunnersInGroupForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListSelfHostedRunnersInGroupForOrgResponse = {\n  runners: Schemas.Runner[];\n  total_count: number;\n};\n\nexport type ActionsListSelfHostedRunnersInGroupForOrgVariables = {\n  pathParams: ActionsListSelfHostedRunnersInGroupForOrgPathParams;\n  queryParams?: ActionsListSelfHostedRunnersInGroupForOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Lists self-hosted runners that are in a specific organization group.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsListSelfHostedRunnersInGroupForOrg = (\n  variables: ActionsListSelfHostedRunnersInGroupForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListSelfHostedRunnersInGroupForOrgResponse,\n    ActionsListSelfHostedRunnersInGroupForOrgError,\n    undefined,\n    {},\n    ActionsListSelfHostedRunnersInGroupForOrgQueryParams,\n    ActionsListSelfHostedRunnersInGroupForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups/{runnerGroupId}/runners',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Lists self-hosted runners that are in a specific organization group.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsListSelfHostedRunnersInGroupForOrg = <\n  TData = ActionsListSelfHostedRunnersInGroupForOrgResponse,\n>(\n  variables: ActionsListSelfHostedRunnersInGroupForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListSelfHostedRunnersInGroupForOrgResponse,\n      ActionsListSelfHostedRunnersInGroupForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListSelfHostedRunnersInGroupForOrgResponse,\n    ActionsListSelfHostedRunnersInGroupForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/runner-groups/{runner_group_id}/runners',\n      operationId: 'actionsListSelfHostedRunnersInGroupForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListSelfHostedRunnersInGroupForOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsSetSelfHostedRunnersInGroupForOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n};\n\nexport type ActionsSetSelfHostedRunnersInGroupForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsSetSelfHostedRunnersInGroupForOrgRequestBody = {\n  /**\n   * List of runner IDs to add to the runner group.\n   */\n  runners: number[];\n};\n\nexport type ActionsSetSelfHostedRunnersInGroupForOrgVariables = {\n  body: ActionsSetSelfHostedRunnersInGroupForOrgRequestBody;\n  pathParams: ActionsSetSelfHostedRunnersInGroupForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Replaces the list of self-hosted runners that are part of an organization runner group.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsSetSelfHostedRunnersInGroupForOrg = (\n  variables: ActionsSetSelfHostedRunnersInGroupForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsSetSelfHostedRunnersInGroupForOrgError,\n    ActionsSetSelfHostedRunnersInGroupForOrgRequestBody,\n    {},\n    {},\n    ActionsSetSelfHostedRunnersInGroupForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups/{runnerGroupId}/runners',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n * Replaces the list of self-hosted runners that are part of an organization runner group.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsSetSelfHostedRunnersInGroupForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsSetSelfHostedRunnersInGroupForOrgError,\n      ActionsSetSelfHostedRunnersInGroupForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsSetSelfHostedRunnersInGroupForOrgError,\n    ActionsSetSelfHostedRunnersInGroupForOrgVariables\n  >(\n    (variables: ActionsSetSelfHostedRunnersInGroupForOrgVariables) =>\n      fetchActionsSetSelfHostedRunnersInGroupForOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsRemoveSelfHostedRunnerFromGroupForOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n  /**\n   * Unique identifier of the self-hosted runner.\n   */\n  runnerId: number;\n};\n\nexport type ActionsRemoveSelfHostedRunnerFromGroupForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsRemoveSelfHostedRunnerFromGroupForOrgVariables = {\n  pathParams: ActionsRemoveSelfHostedRunnerFromGroupForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n *\n * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsRemoveSelfHostedRunnerFromGroupForOrg = (\n  variables: ActionsRemoveSelfHostedRunnerFromGroupForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsRemoveSelfHostedRunnerFromGroupForOrgError,\n    undefined,\n    {},\n    {},\n    ActionsRemoveSelfHostedRunnerFromGroupForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups/{runnerGroupId}/runners/{runnerId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n *\n * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsRemoveSelfHostedRunnerFromGroupForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsRemoveSelfHostedRunnerFromGroupForOrgError,\n      ActionsRemoveSelfHostedRunnerFromGroupForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsRemoveSelfHostedRunnerFromGroupForOrgError,\n    ActionsRemoveSelfHostedRunnerFromGroupForOrgVariables\n  >(\n    (variables: ActionsRemoveSelfHostedRunnerFromGroupForOrgVariables) =>\n      fetchActionsRemoveSelfHostedRunnerFromGroupForOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsAddSelfHostedRunnerToGroupForOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner group.\n   */\n  runnerGroupId: number;\n  /**\n   * Unique identifier of the self-hosted runner.\n   */\n  runnerId: number;\n};\n\nexport type ActionsAddSelfHostedRunnerToGroupForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsAddSelfHostedRunnerToGroupForOrgVariables = {\n  pathParams: ActionsAddSelfHostedRunnerToGroupForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n *\n * Adds a self-hosted runner to a runner group configured in an organization.\n *\n * You must authenticate using an access token with the `admin:org`\n * scope to use this endpoint.\n */\nexport const fetchActionsAddSelfHostedRunnerToGroupForOrg = (\n  variables: ActionsAddSelfHostedRunnerToGroupForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsAddSelfHostedRunnerToGroupForOrgError,\n    undefined,\n    {},\n    {},\n    ActionsAddSelfHostedRunnerToGroupForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runner-groups/{runnerGroupId}/runners/{runnerId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see \"[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).\"\n *\n *\n * Adds a self-hosted runner to a runner group configured in an organization.\n *\n * You must authenticate using an access token with the `admin:org`\n * scope to use this endpoint.\n */\nexport const useActionsAddSelfHostedRunnerToGroupForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsAddSelfHostedRunnerToGroupForOrgError,\n      ActionsAddSelfHostedRunnerToGroupForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsAddSelfHostedRunnerToGroupForOrgError,\n    ActionsAddSelfHostedRunnerToGroupForOrgVariables\n  >(\n    (variables: ActionsAddSelfHostedRunnerToGroupForOrgVariables) =>\n      fetchActionsAddSelfHostedRunnerToGroupForOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsListSelfHostedRunnersForOrgPathParams = {\n  org: string;\n};\n\nexport type ActionsListSelfHostedRunnersForOrgQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListSelfHostedRunnersForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListSelfHostedRunnersForOrgResponse = {\n  runners: Schemas.Runner[];\n  total_count: number;\n};\n\nexport type ActionsListSelfHostedRunnersForOrgVariables = {\n  pathParams: ActionsListSelfHostedRunnersForOrgPathParams;\n  queryParams?: ActionsListSelfHostedRunnersForOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all self-hosted runners configured in an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsListSelfHostedRunnersForOrg = (\n  variables: ActionsListSelfHostedRunnersForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListSelfHostedRunnersForOrgResponse,\n    ActionsListSelfHostedRunnersForOrgError,\n    undefined,\n    {},\n    ActionsListSelfHostedRunnersForOrgQueryParams,\n    ActionsListSelfHostedRunnersForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runners',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all self-hosted runners configured in an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsListSelfHostedRunnersForOrg = <\n  TData = ActionsListSelfHostedRunnersForOrgResponse,\n>(\n  variables: ActionsListSelfHostedRunnersForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListSelfHostedRunnersForOrgResponse,\n      ActionsListSelfHostedRunnersForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListSelfHostedRunnersForOrgResponse,\n    ActionsListSelfHostedRunnersForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/runners',\n      operationId: 'actionsListSelfHostedRunnersForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListSelfHostedRunnersForOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsListRunnerApplicationsForOrgPathParams = {\n  org: string;\n};\n\nexport type ActionsListRunnerApplicationsForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListRunnerApplicationsForOrgResponse =\n  Schemas.RunnerApplication[];\n\nexport type ActionsListRunnerApplicationsForOrgVariables = {\n  pathParams: ActionsListRunnerApplicationsForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists binaries for the runner application that you can download and run.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsListRunnerApplicationsForOrg = (\n  variables: ActionsListRunnerApplicationsForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListRunnerApplicationsForOrgResponse,\n    ActionsListRunnerApplicationsForOrgError,\n    undefined,\n    {},\n    {},\n    ActionsListRunnerApplicationsForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runners/downloads',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists binaries for the runner application that you can download and run.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsListRunnerApplicationsForOrg = <\n  TData = ActionsListRunnerApplicationsForOrgResponse,\n>(\n  variables: ActionsListRunnerApplicationsForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListRunnerApplicationsForOrgResponse,\n      ActionsListRunnerApplicationsForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListRunnerApplicationsForOrgResponse,\n    ActionsListRunnerApplicationsForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/runners/downloads',\n      operationId: 'actionsListRunnerApplicationsForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListRunnerApplicationsForOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsCreateRegistrationTokenForOrgPathParams = {\n  org: string;\n};\n\nexport type ActionsCreateRegistrationTokenForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsCreateRegistrationTokenForOrgVariables = {\n  pathParams: ActionsCreateRegistrationTokenForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns a token that you can pass to the `config` script. The token expires after one hour.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n *\n * #### Example using registration token\n *\n * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n *\n * ```\n * ./config.sh --url https://github.com/octo-org --token TOKEN\n * ```\n */\nexport const fetchActionsCreateRegistrationTokenForOrg = (\n  variables: ActionsCreateRegistrationTokenForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.AuthenticationToken,\n    ActionsCreateRegistrationTokenForOrgError,\n    undefined,\n    {},\n    {},\n    ActionsCreateRegistrationTokenForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runners/registration-token',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns a token that you can pass to the `config` script. The token expires after one hour.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n *\n * #### Example using registration token\n *\n * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n *\n * ```\n * ./config.sh --url https://github.com/octo-org --token TOKEN\n * ```\n */\nexport const useActionsCreateRegistrationTokenForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.AuthenticationToken,\n      ActionsCreateRegistrationTokenForOrgError,\n      ActionsCreateRegistrationTokenForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.AuthenticationToken,\n    ActionsCreateRegistrationTokenForOrgError,\n    ActionsCreateRegistrationTokenForOrgVariables\n  >(\n    (variables: ActionsCreateRegistrationTokenForOrgVariables) =>\n      fetchActionsCreateRegistrationTokenForOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsCreateRemoveTokenForOrgPathParams = {\n  org: string;\n};\n\nexport type ActionsCreateRemoveTokenForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsCreateRemoveTokenForOrgVariables = {\n  pathParams: ActionsCreateRemoveTokenForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n *\n * #### Example using remove token\n *\n * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this\n * endpoint.\n *\n * ```\n * ./config.sh remove --token TOKEN\n * ```\n */\nexport const fetchActionsCreateRemoveTokenForOrg = (\n  variables: ActionsCreateRemoveTokenForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.AuthenticationToken,\n    ActionsCreateRemoveTokenForOrgError,\n    undefined,\n    {},\n    {},\n    ActionsCreateRemoveTokenForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runners/remove-token',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n *\n * #### Example using remove token\n *\n * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this\n * endpoint.\n *\n * ```\n * ./config.sh remove --token TOKEN\n * ```\n */\nexport const useActionsCreateRemoveTokenForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.AuthenticationToken,\n      ActionsCreateRemoveTokenForOrgError,\n      ActionsCreateRemoveTokenForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.AuthenticationToken,\n    ActionsCreateRemoveTokenForOrgError,\n    ActionsCreateRemoveTokenForOrgVariables\n  >(\n    (variables: ActionsCreateRemoveTokenForOrgVariables) =>\n      fetchActionsCreateRemoveTokenForOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsDeleteSelfHostedRunnerFromOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner.\n   */\n  runnerId: number;\n};\n\nexport type ActionsDeleteSelfHostedRunnerFromOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDeleteSelfHostedRunnerFromOrgVariables = {\n  pathParams: ActionsDeleteSelfHostedRunnerFromOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsDeleteSelfHostedRunnerFromOrg = (\n  variables: ActionsDeleteSelfHostedRunnerFromOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDeleteSelfHostedRunnerFromOrgError,\n    undefined,\n    {},\n    {},\n    ActionsDeleteSelfHostedRunnerFromOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runners/{runnerId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsDeleteSelfHostedRunnerFromOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsDeleteSelfHostedRunnerFromOrgError,\n      ActionsDeleteSelfHostedRunnerFromOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsDeleteSelfHostedRunnerFromOrgError,\n    ActionsDeleteSelfHostedRunnerFromOrgVariables\n  >(\n    (variables: ActionsDeleteSelfHostedRunnerFromOrgVariables) =>\n      fetchActionsDeleteSelfHostedRunnerFromOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsGetSelfHostedRunnerForOrgPathParams = {\n  org: string;\n  /**\n   * Unique identifier of the self-hosted runner.\n   */\n  runnerId: number;\n};\n\nexport type ActionsGetSelfHostedRunnerForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetSelfHostedRunnerForOrgVariables = {\n  pathParams: ActionsGetSelfHostedRunnerForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific self-hosted runner configured in an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const fetchActionsGetSelfHostedRunnerForOrg = (\n  variables: ActionsGetSelfHostedRunnerForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Runner,\n    ActionsGetSelfHostedRunnerForOrgError,\n    undefined,\n    {},\n    {},\n    ActionsGetSelfHostedRunnerForOrgPathParams\n  >({\n    url: '/orgs/{org}/actions/runners/{runnerId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific self-hosted runner configured in an organization.\n *\n * You must authenticate using an access token with the `admin:org` scope to use this endpoint.\n */\nexport const useActionsGetSelfHostedRunnerForOrg = <TData = Schemas.Runner>(\n  variables: ActionsGetSelfHostedRunnerForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Runner,\n      ActionsGetSelfHostedRunnerForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Runner,\n    ActionsGetSelfHostedRunnerForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/runners/{runner_id}',\n      operationId: 'actionsGetSelfHostedRunnerForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetSelfHostedRunnerForOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsListOrgSecretsPathParams = {\n  org: string;\n};\n\nexport type ActionsListOrgSecretsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListOrgSecretsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListOrgSecretsResponse = {\n  secrets: Schemas.OrganizationActionsSecret[];\n  total_count: number;\n};\n\nexport type ActionsListOrgSecretsVariables = {\n  pathParams: ActionsListOrgSecretsPathParams;\n  queryParams?: ActionsListOrgSecretsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const fetchActionsListOrgSecrets = (\n  variables: ActionsListOrgSecretsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListOrgSecretsResponse,\n    ActionsListOrgSecretsError,\n    undefined,\n    {},\n    ActionsListOrgSecretsQueryParams,\n    ActionsListOrgSecretsPathParams\n  >({\n    url: '/orgs/{org}/actions/secrets',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const useActionsListOrgSecrets = <TData = ActionsListOrgSecretsResponse>(\n  variables: ActionsListOrgSecretsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListOrgSecretsResponse,\n      ActionsListOrgSecretsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListOrgSecretsResponse,\n    ActionsListOrgSecretsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/secrets',\n      operationId: 'actionsListOrgSecrets',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListOrgSecrets({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsGetOrgPublicKeyPathParams = {\n  org: string;\n};\n\nexport type ActionsGetOrgPublicKeyError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetOrgPublicKeyVariables = {\n  pathParams: ActionsGetOrgPublicKeyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const fetchActionsGetOrgPublicKey = (\n  variables: ActionsGetOrgPublicKeyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ActionsPublicKey,\n    ActionsGetOrgPublicKeyError,\n    undefined,\n    {},\n    {},\n    ActionsGetOrgPublicKeyPathParams\n  >({\n    url: '/orgs/{org}/actions/secrets/public-key',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const useActionsGetOrgPublicKey = <TData = Schemas.ActionsPublicKey>(\n  variables: ActionsGetOrgPublicKeyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ActionsPublicKey,\n      ActionsGetOrgPublicKeyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ActionsPublicKey,\n    ActionsGetOrgPublicKeyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/secrets/public-key',\n      operationId: 'actionsGetOrgPublicKey',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetOrgPublicKey({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsDeleteOrgSecretPathParams = {\n  org: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n};\n\nexport type ActionsDeleteOrgSecretError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDeleteOrgSecretVariables = {\n  pathParams: ActionsDeleteOrgSecretPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const fetchActionsDeleteOrgSecret = (\n  variables: ActionsDeleteOrgSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDeleteOrgSecretError,\n    undefined,\n    {},\n    {},\n    ActionsDeleteOrgSecretPathParams\n  >({\n    url: '/orgs/{org}/actions/secrets/{secretName}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const useActionsDeleteOrgSecret = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsDeleteOrgSecretError,\n      ActionsDeleteOrgSecretVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsDeleteOrgSecretError,\n    ActionsDeleteOrgSecretVariables\n  >(\n    (variables: ActionsDeleteOrgSecretVariables) =>\n      fetchActionsDeleteOrgSecret({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsGetOrgSecretPathParams = {\n  org: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n};\n\nexport type ActionsGetOrgSecretError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetOrgSecretVariables = {\n  pathParams: ActionsGetOrgSecretPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const fetchActionsGetOrgSecret = (\n  variables: ActionsGetOrgSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.OrganizationActionsSecret,\n    ActionsGetOrgSecretError,\n    undefined,\n    {},\n    {},\n    ActionsGetOrgSecretPathParams\n  >({\n    url: '/orgs/{org}/actions/secrets/{secretName}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const useActionsGetOrgSecret = <\n  TData = Schemas.OrganizationActionsSecret,\n>(\n  variables: ActionsGetOrgSecretVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.OrganizationActionsSecret,\n      ActionsGetOrgSecretError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.OrganizationActionsSecret,\n    ActionsGetOrgSecretError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/secrets/{secret_name}',\n      operationId: 'actionsGetOrgSecret',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetOrgSecret({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsCreateOrUpdateOrgSecretPathParams = {\n  org: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n};\n\nexport type ActionsCreateOrUpdateOrgSecretError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsCreateOrUpdateOrgSecretRequestBody = {\n  /**\n   * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint.\n   *\n   * @pattern ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$\n   */\n  encrypted_value?: string;\n  /**\n   * ID of the key you used to encrypt the secret.\n   */\n  key_id?: string;\n  /**\n   * An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.\n   */\n  selected_repository_ids?: string[];\n  /**\n   * Configures the access that repositories have to the organization secret. Can be one of:\n   * \\- `all` - All repositories in an organization can access the secret.\n   * \\- `private` - Private repositories in an organization can access the secret.\n   * \\- `selected` - Only specific repositories can access the secret.\n   */\n  visibility?: 'all' | 'private' | 'selected';\n};\n\nexport type ActionsCreateOrUpdateOrgSecretVariables = {\n  body?: ActionsCreateOrUpdateOrgSecretRequestBody;\n  pathParams: ActionsCreateOrUpdateOrgSecretPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates or updates an organization secret with an encrypted value. Encrypt your secret using\n * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\n * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to\n * use this endpoint.\n *\n * #### Example encrypting a secret using Node.js\n *\n * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n *\n * ```\n * const sodium = require('tweetsodium');\n *\n * const key = \"base64-encoded-public-key\";\n * const value = \"plain-text-secret\";\n *\n * // Convert the message and key to Uint8Array's (Buffer implements that interface)\n * const messageBytes = Buffer.from(value);\n * const keyBytes = Buffer.from(key, 'base64');\n *\n * // Encrypt using LibSodium.\n * const encryptedBytes = sodium.seal(messageBytes, keyBytes);\n *\n * // Base64 the encrypted secret\n * const encrypted = Buffer.from(encryptedBytes).toString('base64');\n *\n * console.log(encrypted);\n * ```\n *\n *\n * #### Example encrypting a secret using Python\n *\n * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n *\n * ```\n * from base64 import b64encode\n * from nacl import encoding, public\n *\n * def encrypt(public_key: str, secret_value: str) -> str:\n *   \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n *   public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n *   sealed_box = public.SealedBox(public_key)\n *   encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n *   return b64encode(encrypted).decode(\"utf-8\")\n * ```\n *\n * #### Example encrypting a secret using C#\n *\n * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n *\n * ```\n * var secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\n * var publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n *\n * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n *\n * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n * ```\n *\n * #### Example encrypting a secret using Ruby\n *\n * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n *\n * ```ruby\n * require \"rbnacl\"\n * require \"base64\"\n *\n * key = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\n * public_key = RbNaCl::PublicKey.new(key)\n *\n * box = RbNaCl::Boxes::Sealed.from_public_key(public_key)\n * encrypted_secret = box.encrypt(\"my_secret\")\n *\n * # Print the base64 encoded secret\n * puts Base64.strict_encode64(encrypted_secret)\n * ```\n */\nexport const fetchActionsCreateOrUpdateOrgSecret = (\n  variables: ActionsCreateOrUpdateOrgSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsCreateOrUpdateOrgSecretError,\n    ActionsCreateOrUpdateOrgSecretRequestBody,\n    {},\n    {},\n    ActionsCreateOrUpdateOrgSecretPathParams\n  >({\n    url: '/orgs/{org}/actions/secrets/{secretName}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates or updates an organization secret with an encrypted value. Encrypt your secret using\n * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\n * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to\n * use this endpoint.\n *\n * #### Example encrypting a secret using Node.js\n *\n * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n *\n * ```\n * const sodium = require('tweetsodium');\n *\n * const key = \"base64-encoded-public-key\";\n * const value = \"plain-text-secret\";\n *\n * // Convert the message and key to Uint8Array's (Buffer implements that interface)\n * const messageBytes = Buffer.from(value);\n * const keyBytes = Buffer.from(key, 'base64');\n *\n * // Encrypt using LibSodium.\n * const encryptedBytes = sodium.seal(messageBytes, keyBytes);\n *\n * // Base64 the encrypted secret\n * const encrypted = Buffer.from(encryptedBytes).toString('base64');\n *\n * console.log(encrypted);\n * ```\n *\n *\n * #### Example encrypting a secret using Python\n *\n * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n *\n * ```\n * from base64 import b64encode\n * from nacl import encoding, public\n *\n * def encrypt(public_key: str, secret_value: str) -> str:\n *   \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n *   public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n *   sealed_box = public.SealedBox(public_key)\n *   encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n *   return b64encode(encrypted).decode(\"utf-8\")\n * ```\n *\n * #### Example encrypting a secret using C#\n *\n * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n *\n * ```\n * var secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\n * var publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n *\n * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n *\n * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n * ```\n *\n * #### Example encrypting a secret using Ruby\n *\n * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n *\n * ```ruby\n * require \"rbnacl\"\n * require \"base64\"\n *\n * key = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\n * public_key = RbNaCl::PublicKey.new(key)\n *\n * box = RbNaCl::Boxes::Sealed.from_public_key(public_key)\n * encrypted_secret = box.encrypt(\"my_secret\")\n *\n * # Print the base64 encoded secret\n * puts Base64.strict_encode64(encrypted_secret)\n * ```\n */\nexport const useActionsCreateOrUpdateOrgSecret = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsCreateOrUpdateOrgSecretError,\n      ActionsCreateOrUpdateOrgSecretVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsCreateOrUpdateOrgSecretError,\n    ActionsCreateOrUpdateOrgSecretVariables\n  >(\n    (variables: ActionsCreateOrUpdateOrgSecretVariables) =>\n      fetchActionsCreateOrUpdateOrgSecret({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsListSelectedReposForOrgSecretPathParams = {\n  org: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n};\n\nexport type ActionsListSelectedReposForOrgSecretQueryParams = {\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n};\n\nexport type ActionsListSelectedReposForOrgSecretError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListSelectedReposForOrgSecretResponse = {\n  repositories: Schemas.MinimalRepository[];\n  total_count: number;\n};\n\nexport type ActionsListSelectedReposForOrgSecretVariables = {\n  pathParams: ActionsListSelectedReposForOrgSecretPathParams;\n  queryParams?: ActionsListSelectedReposForOrgSecretQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const fetchActionsListSelectedReposForOrgSecret = (\n  variables: ActionsListSelectedReposForOrgSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListSelectedReposForOrgSecretResponse,\n    ActionsListSelectedReposForOrgSecretError,\n    undefined,\n    {},\n    ActionsListSelectedReposForOrgSecretQueryParams,\n    ActionsListSelectedReposForOrgSecretPathParams\n  >({\n    url: '/orgs/{org}/actions/secrets/{secretName}/repositories',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const useActionsListSelectedReposForOrgSecret = <\n  TData = ActionsListSelectedReposForOrgSecretResponse,\n>(\n  variables: ActionsListSelectedReposForOrgSecretVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListSelectedReposForOrgSecretResponse,\n      ActionsListSelectedReposForOrgSecretError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListSelectedReposForOrgSecretResponse,\n    ActionsListSelectedReposForOrgSecretError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/actions/secrets/{secret_name}/repositories',\n      operationId: 'actionsListSelectedReposForOrgSecret',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListSelectedReposForOrgSecret(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsSetSelectedReposForOrgSecretPathParams = {\n  org: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n};\n\nexport type ActionsSetSelectedReposForOrgSecretError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsSetSelectedReposForOrgSecretRequestBody = {\n  /**\n   * An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints.\n   */\n  selected_repository_ids?: number[];\n};\n\nexport type ActionsSetSelectedReposForOrgSecretVariables = {\n  body?: ActionsSetSelectedReposForOrgSecretRequestBody;\n  pathParams: ActionsSetSelectedReposForOrgSecretPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const fetchActionsSetSelectedReposForOrgSecret = (\n  variables: ActionsSetSelectedReposForOrgSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsSetSelectedReposForOrgSecretError,\n    ActionsSetSelectedReposForOrgSecretRequestBody,\n    {},\n    {},\n    ActionsSetSelectedReposForOrgSecretPathParams\n  >({\n    url: '/orgs/{org}/actions/secrets/{secretName}/repositories',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const useActionsSetSelectedReposForOrgSecret = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsSetSelectedReposForOrgSecretError,\n      ActionsSetSelectedReposForOrgSecretVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsSetSelectedReposForOrgSecretError,\n    ActionsSetSelectedReposForOrgSecretVariables\n  >(\n    (variables: ActionsSetSelectedReposForOrgSecretVariables) =>\n      fetchActionsSetSelectedReposForOrgSecret({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsRemoveSelectedRepoFromOrgSecretPathParams = {\n  org: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n  repositoryId: number;\n};\n\nexport type ActionsRemoveSelectedRepoFromOrgSecretError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsRemoveSelectedRepoFromOrgSecretVariables = {\n  pathParams: ActionsRemoveSelectedRepoFromOrgSecretPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const fetchActionsRemoveSelectedRepoFromOrgSecret = (\n  variables: ActionsRemoveSelectedRepoFromOrgSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsRemoveSelectedRepoFromOrgSecretError,\n    undefined,\n    {},\n    {},\n    ActionsRemoveSelectedRepoFromOrgSecretPathParams\n  >({\n    url: '/orgs/{org}/actions/secrets/{secretName}/repositories/{repositoryId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const useActionsRemoveSelectedRepoFromOrgSecret = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsRemoveSelectedRepoFromOrgSecretError,\n      ActionsRemoveSelectedRepoFromOrgSecretVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsRemoveSelectedRepoFromOrgSecretError,\n    ActionsRemoveSelectedRepoFromOrgSecretVariables\n  >(\n    (variables: ActionsRemoveSelectedRepoFromOrgSecretVariables) =>\n      fetchActionsRemoveSelectedRepoFromOrgSecret({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsAddSelectedRepoToOrgSecretPathParams = {\n  org: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n  repositoryId: number;\n};\n\nexport type ActionsAddSelectedRepoToOrgSecretError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsAddSelectedRepoToOrgSecretVariables = {\n  pathParams: ActionsAddSelectedRepoToOrgSecretPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const fetchActionsAddSelectedRepoToOrgSecret = (\n  variables: ActionsAddSelectedRepoToOrgSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsAddSelectedRepoToOrgSecretError,\n    undefined,\n    {},\n    {},\n    ActionsAddSelectedRepoToOrgSecretPathParams\n  >({\n    url: '/orgs/{org}/actions/secrets/{secretName}/repositories/{repositoryId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint.\n */\nexport const useActionsAddSelectedRepoToOrgSecret = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsAddSelectedRepoToOrgSecretError,\n      ActionsAddSelectedRepoToOrgSecretVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsAddSelectedRepoToOrgSecretError,\n    ActionsAddSelectedRepoToOrgSecretVariables\n  >(\n    (variables: ActionsAddSelectedRepoToOrgSecretVariables) =>\n      fetchActionsAddSelectedRepoToOrgSecret({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type OrgsGetAuditLogPathParams = {\n  org: string;\n};\n\nexport type OrgsGetAuditLogQueryParams = {\n  /**\n   * A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log).\n   */\n  phrase?: string;\n  /**\n   * The event types to include:\n   *\n   * - `web` - returns web (non-Git) events\n   * - `git` - returns Git events\n   * - `all` - returns both web and Git events\n   *\n   * The default is `web`.\n   */\n  include?: 'web' | 'git' | 'all';\n  /**\n   * A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor.\n   */\n  after?: string;\n  /**\n   * A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor.\n   */\n  before?: string;\n  /**\n   * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`.\n   *\n   * The default is `desc`.\n   */\n  order?: 'desc' | 'asc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type OrgsGetAuditLogError = Fetcher.ErrorWrapper<undefined>;\n\nexport type OrgsGetAuditLogResponse = Schemas.AuditLogEvent[];\n\nexport type OrgsGetAuditLogVariables = {\n  pathParams: OrgsGetAuditLogPathParams;\n  queryParams?: OrgsGetAuditLogQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The audit log REST API is currently in beta and is subject to change.\n *\n * Gets the audit log for an organization. For more information, see \"[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization).\"\n *\n * To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint.\n */\nexport const fetchOrgsGetAuditLog = (\n  variables: OrgsGetAuditLogVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsGetAuditLogResponse,\n    OrgsGetAuditLogError,\n    undefined,\n    {},\n    OrgsGetAuditLogQueryParams,\n    OrgsGetAuditLogPathParams\n  >({ url: '/orgs/{org}/audit-log', method: 'get', ...variables, signal });\n\n/**\n * **Note:** The audit log REST API is currently in beta and is subject to change.\n *\n * Gets the audit log for an organization. For more information, see \"[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization).\"\n *\n * To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint.\n */\nexport const useOrgsGetAuditLog = <TData = OrgsGetAuditLogResponse>(\n  variables: OrgsGetAuditLogVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsGetAuditLogResponse,\n      OrgsGetAuditLogError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsGetAuditLogResponse,\n    OrgsGetAuditLogError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/audit-log',\n      operationId: 'orgsGetAuditLog',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsGetAuditLog({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsListBlockedUsersPathParams = {\n  org: string;\n};\n\nexport type OrgsListBlockedUsersError = Fetcher.ErrorWrapper<{\n  status: 415;\n  payload: Responses.PreviewHeaderMissing;\n}>;\n\nexport type OrgsListBlockedUsersResponse = Schemas.SimpleUser[];\n\nexport type OrgsListBlockedUsersVariables = {\n  pathParams: OrgsListBlockedUsersPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List the users blocked by an organization.\n */\nexport const fetchOrgsListBlockedUsers = (\n  variables: OrgsListBlockedUsersVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListBlockedUsersResponse,\n    OrgsListBlockedUsersError,\n    undefined,\n    {},\n    {},\n    OrgsListBlockedUsersPathParams\n  >({ url: '/orgs/{org}/blocks', method: 'get', ...variables, signal });\n\n/**\n * List the users blocked by an organization.\n */\nexport const useOrgsListBlockedUsers = <TData = OrgsListBlockedUsersResponse>(\n  variables: OrgsListBlockedUsersVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListBlockedUsersResponse,\n      OrgsListBlockedUsersError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListBlockedUsersResponse,\n    OrgsListBlockedUsersError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/blocks',\n      operationId: 'orgsListBlockedUsers',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListBlockedUsers({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsUnblockUserPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsUnblockUserError = Fetcher.ErrorWrapper<undefined>;\n\nexport type OrgsUnblockUserVariables = {\n  pathParams: OrgsUnblockUserPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchOrgsUnblockUser = (\n  variables: OrgsUnblockUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsUnblockUserError,\n    undefined,\n    {},\n    {},\n    OrgsUnblockUserPathParams\n  >({\n    url: '/orgs/{org}/blocks/{username}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useOrgsUnblockUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OrgsUnblockUserError,\n      OrgsUnblockUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OrgsUnblockUserError,\n    OrgsUnblockUserVariables\n  >(\n    (variables: OrgsUnblockUserVariables) =>\n      fetchOrgsUnblockUser({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OrgsCheckBlockedUserPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsCheckBlockedUserError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Schemas.BasicError;\n}>;\n\nexport type OrgsCheckBlockedUserVariables = {\n  pathParams: OrgsCheckBlockedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchOrgsCheckBlockedUser = (\n  variables: OrgsCheckBlockedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsCheckBlockedUserError,\n    undefined,\n    {},\n    {},\n    OrgsCheckBlockedUserPathParams\n  >({\n    url: '/orgs/{org}/blocks/{username}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useOrgsCheckBlockedUser = <TData = undefined>(\n  variables: OrgsCheckBlockedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<undefined, OrgsCheckBlockedUserError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<undefined, OrgsCheckBlockedUserError, TData>(\n    queryKeyFn({\n      path: '/orgs/{org}/blocks/{username}',\n      operationId: 'orgsCheckBlockedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsCheckBlockedUser({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsBlockUserPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsBlockUserError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type OrgsBlockUserVariables = {\n  pathParams: OrgsBlockUserPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchOrgsBlockUser = (\n  variables: OrgsBlockUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsBlockUserError,\n    undefined,\n    {},\n    {},\n    OrgsBlockUserPathParams\n  >({\n    url: '/orgs/{org}/blocks/{username}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\nexport const useOrgsBlockUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OrgsBlockUserError,\n      OrgsBlockUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OrgsBlockUserError,\n    OrgsBlockUserVariables\n  >(\n    (variables: OrgsBlockUserVariables) =>\n      fetchOrgsBlockUser({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OrgsListSamlSsoAuthorizationsPathParams = {\n  org: string;\n};\n\nexport type OrgsListSamlSsoAuthorizationsError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type OrgsListSamlSsoAuthorizationsResponse =\n  Schemas.CredentialAuthorization[];\n\nexport type OrgsListSamlSsoAuthorizationsVariables = {\n  pathParams: OrgsListSamlSsoAuthorizationsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products).\n *\n * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://help.github.com/en/articles/about-authentication-with-saml-single-sign-on).\n */\nexport const fetchOrgsListSamlSsoAuthorizations = (\n  variables: OrgsListSamlSsoAuthorizationsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListSamlSsoAuthorizationsResponse,\n    OrgsListSamlSsoAuthorizationsError,\n    undefined,\n    {},\n    {},\n    OrgsListSamlSsoAuthorizationsPathParams\n  >({\n    url: '/orgs/{org}/credential-authorizations',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products).\n *\n * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://help.github.com/en/articles/about-authentication-with-saml-single-sign-on).\n */\nexport const useOrgsListSamlSsoAuthorizations = <\n  TData = OrgsListSamlSsoAuthorizationsResponse,\n>(\n  variables: OrgsListSamlSsoAuthorizationsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListSamlSsoAuthorizationsResponse,\n      OrgsListSamlSsoAuthorizationsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListSamlSsoAuthorizationsResponse,\n    OrgsListSamlSsoAuthorizationsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/credential-authorizations',\n      operationId: 'orgsListSamlSsoAuthorizations',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListSamlSsoAuthorizations(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsRemoveSamlSsoAuthorizationPathParams = {\n  org: string;\n  credentialId: number;\n};\n\nexport type OrgsRemoveSamlSsoAuthorizationError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type OrgsRemoveSamlSsoAuthorizationVariables = {\n  pathParams: OrgsRemoveSamlSsoAuthorizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products).\n *\n * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access.\n */\nexport const fetchOrgsRemoveSamlSsoAuthorization = (\n  variables: OrgsRemoveSamlSsoAuthorizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsRemoveSamlSsoAuthorizationError,\n    undefined,\n    {},\n    {},\n    OrgsRemoveSamlSsoAuthorizationPathParams\n  >({\n    url: '/orgs/{org}/credential-authorizations/{credentialId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products).\n *\n * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access.\n */\nexport const useOrgsRemoveSamlSsoAuthorization = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OrgsRemoveSamlSsoAuthorizationError,\n      OrgsRemoveSamlSsoAuthorizationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OrgsRemoveSamlSsoAuthorizationError,\n    OrgsRemoveSamlSsoAuthorizationVariables\n  >(\n    (variables: OrgsRemoveSamlSsoAuthorizationVariables) =>\n      fetchOrgsRemoveSamlSsoAuthorization({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActivityListPublicOrgEventsPathParams = {\n  org: string;\n};\n\nexport type ActivityListPublicOrgEventsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListPublicOrgEventsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityListPublicOrgEventsResponse = Schemas.Event[];\n\nexport type ActivityListPublicOrgEventsVariables = {\n  pathParams: ActivityListPublicOrgEventsPathParams;\n  queryParams?: ActivityListPublicOrgEventsQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchActivityListPublicOrgEvents = (\n  variables: ActivityListPublicOrgEventsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListPublicOrgEventsResponse,\n    ActivityListPublicOrgEventsError,\n    undefined,\n    {},\n    ActivityListPublicOrgEventsQueryParams,\n    ActivityListPublicOrgEventsPathParams\n  >({ url: '/orgs/{org}/events', method: 'get', ...variables, signal });\n\nexport const useActivityListPublicOrgEvents = <\n  TData = ActivityListPublicOrgEventsResponse,\n>(\n  variables: ActivityListPublicOrgEventsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListPublicOrgEventsResponse,\n      ActivityListPublicOrgEventsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListPublicOrgEventsResponse,\n    ActivityListPublicOrgEventsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/events',\n      operationId: 'activityListPublicOrgEvents',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListPublicOrgEvents(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsListFailedInvitationsPathParams = {\n  org: string;\n};\n\nexport type OrgsListFailedInvitationsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type OrgsListFailedInvitationsError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type OrgsListFailedInvitationsResponse =\n  Schemas.OrganizationInvitation[];\n\nexport type OrgsListFailedInvitationsVariables = {\n  pathParams: OrgsListFailedInvitationsPathParams;\n  queryParams?: OrgsListFailedInvitationsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure.\n */\nexport const fetchOrgsListFailedInvitations = (\n  variables: OrgsListFailedInvitationsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListFailedInvitationsResponse,\n    OrgsListFailedInvitationsError,\n    undefined,\n    {},\n    OrgsListFailedInvitationsQueryParams,\n    OrgsListFailedInvitationsPathParams\n  >({\n    url: '/orgs/{org}/failed_invitations',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure.\n */\nexport const useOrgsListFailedInvitations = <\n  TData = OrgsListFailedInvitationsResponse,\n>(\n  variables: OrgsListFailedInvitationsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListFailedInvitationsResponse,\n      OrgsListFailedInvitationsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListFailedInvitationsResponse,\n    OrgsListFailedInvitationsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/failed_invitations',\n      operationId: 'orgsListFailedInvitations',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListFailedInvitations(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsListWebhooksPathParams = {\n  org: string;\n};\n\nexport type OrgsListWebhooksQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type OrgsListWebhooksError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type OrgsListWebhooksResponse = Schemas.OrgHook[];\n\nexport type OrgsListWebhooksVariables = {\n  pathParams: OrgsListWebhooksPathParams;\n  queryParams?: OrgsListWebhooksQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchOrgsListWebhooks = (\n  variables: OrgsListWebhooksVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListWebhooksResponse,\n    OrgsListWebhooksError,\n    undefined,\n    {},\n    OrgsListWebhooksQueryParams,\n    OrgsListWebhooksPathParams\n  >({ url: '/orgs/{org}/hooks', method: 'get', ...variables, signal });\n\nexport const useOrgsListWebhooks = <TData = OrgsListWebhooksResponse>(\n  variables: OrgsListWebhooksVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListWebhooksResponse,\n      OrgsListWebhooksError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListWebhooksResponse,\n    OrgsListWebhooksError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/hooks',\n      operationId: 'orgsListWebhooks',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListWebhooks({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsCreateWebhookPathParams = {\n  org: string;\n};\n\nexport type OrgsCreateWebhookError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type OrgsCreateWebhookRequestBody = {\n  /**\n   * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.\n   *\n   * @default true\n   */\n  active?: boolean;\n  /**\n   * Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#create-hook-config-params).\n   */\n  config: {\n    content_type?: Schemas.WebhookConfigContentType;\n    insecure_ssl?: Schemas.WebhookConfigInsecureSsl;\n    /**\n     * @example \"password\"\n     */\n    password?: string;\n    secret?: Schemas.WebhookConfigSecret;\n    url: Schemas.WebhookConfigUrl;\n    /**\n     * @example \"kdaigle\"\n     */\n    username?: string;\n  };\n  /**\n   * Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for.\n   *\n   * @default push\n   */\n  events?: string[];\n  /**\n   * Must be passed as \"web\".\n   */\n  name: string;\n};\n\nexport type OrgsCreateWebhookVariables = {\n  body: OrgsCreateWebhookRequestBody;\n  pathParams: OrgsCreateWebhookPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Here's how you can create a hook that posts payloads in JSON format:\n */\nexport const fetchOrgsCreateWebhook = (\n  variables: OrgsCreateWebhookVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.OrgHook,\n    OrgsCreateWebhookError,\n    OrgsCreateWebhookRequestBody,\n    {},\n    {},\n    OrgsCreateWebhookPathParams\n  >({ url: '/orgs/{org}/hooks', method: 'post', ...variables, signal });\n\n/**\n * Here's how you can create a hook that posts payloads in JSON format:\n */\nexport const useOrgsCreateWebhook = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.OrgHook,\n      OrgsCreateWebhookError,\n      OrgsCreateWebhookVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.OrgHook,\n    OrgsCreateWebhookError,\n    OrgsCreateWebhookVariables\n  >(\n    (variables: OrgsCreateWebhookVariables) =>\n      fetchOrgsCreateWebhook({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OrgsDeleteWebhookPathParams = {\n  org: string;\n  hookId: number;\n};\n\nexport type OrgsDeleteWebhookError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type OrgsDeleteWebhookVariables = {\n  pathParams: OrgsDeleteWebhookPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchOrgsDeleteWebhook = (\n  variables: OrgsDeleteWebhookVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsDeleteWebhookError,\n    undefined,\n    {},\n    {},\n    OrgsDeleteWebhookPathParams\n  >({\n    url: '/orgs/{org}/hooks/{hookId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useOrgsDeleteWebhook = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OrgsDeleteWebhookError,\n      OrgsDeleteWebhookVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OrgsDeleteWebhookError,\n    OrgsDeleteWebhookVariables\n  >(\n    (variables: OrgsDeleteWebhookVariables) =>\n      fetchOrgsDeleteWebhook({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OrgsGetWebhookPathParams = {\n  org: string;\n  hookId: number;\n};\n\nexport type OrgsGetWebhookError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type OrgsGetWebhookVariables = {\n  pathParams: OrgsGetWebhookPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns a webhook configured in an organization. To get only the webhook `config` properties, see \"[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization).\"\n */\nexport const fetchOrgsGetWebhook = (\n  variables: OrgsGetWebhookVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.OrgHook,\n    OrgsGetWebhookError,\n    undefined,\n    {},\n    {},\n    OrgsGetWebhookPathParams\n  >({ url: '/orgs/{org}/hooks/{hookId}', method: 'get', ...variables, signal });\n\n/**\n * Returns a webhook configured in an organization. To get only the webhook `config` properties, see \"[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization).\"\n */\nexport const useOrgsGetWebhook = <TData = Schemas.OrgHook>(\n  variables: OrgsGetWebhookVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.OrgHook, OrgsGetWebhookError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.OrgHook, OrgsGetWebhookError, TData>(\n    queryKeyFn({\n      path: '/orgs/{org}/hooks/{hook_id}',\n      operationId: 'orgsGetWebhook',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsGetWebhook({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsUpdateWebhookPathParams = {\n  org: string;\n  hookId: number;\n};\n\nexport type OrgsUpdateWebhookError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type OrgsUpdateWebhookRequestBody = {\n  /**\n   * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.\n   *\n   * @default true\n   */\n  active?: boolean;\n  /**\n   * Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#update-hook-config-params).\n   */\n  config?: {\n    content_type?: Schemas.WebhookConfigContentType;\n    insecure_ssl?: Schemas.WebhookConfigInsecureSsl;\n    secret?: Schemas.WebhookConfigSecret;\n    url: Schemas.WebhookConfigUrl;\n  };\n  /**\n   * Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for.\n   *\n   * @default push\n   */\n  events?: string[];\n  /**\n   * @example \"web\"\n   */\n  name?: string;\n};\n\nexport type OrgsUpdateWebhookVariables = {\n  body?: OrgsUpdateWebhookRequestBody;\n  pathParams: OrgsUpdateWebhookPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use \"[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization).\"\n */\nexport const fetchOrgsUpdateWebhook = (\n  variables: OrgsUpdateWebhookVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.OrgHook,\n    OrgsUpdateWebhookError,\n    OrgsUpdateWebhookRequestBody,\n    {},\n    {},\n    OrgsUpdateWebhookPathParams\n  >({\n    url: '/orgs/{org}/hooks/{hookId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use \"[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization).\"\n */\nexport const useOrgsUpdateWebhook = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.OrgHook,\n      OrgsUpdateWebhookError,\n      OrgsUpdateWebhookVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.OrgHook,\n    OrgsUpdateWebhookError,\n    OrgsUpdateWebhookVariables\n  >(\n    (variables: OrgsUpdateWebhookVariables) =>\n      fetchOrgsUpdateWebhook({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OrgsGetWebhookConfigForOrgPathParams = {\n  org: string;\n  hookId: number;\n};\n\nexport type OrgsGetWebhookConfigForOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type OrgsGetWebhookConfigForOrgVariables = {\n  pathParams: OrgsGetWebhookConfigForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use \"[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook).\"\n *\n * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission.\n */\nexport const fetchOrgsGetWebhookConfigForOrg = (\n  variables: OrgsGetWebhookConfigForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.WebhookConfig,\n    OrgsGetWebhookConfigForOrgError,\n    undefined,\n    {},\n    {},\n    OrgsGetWebhookConfigForOrgPathParams\n  >({\n    url: '/orgs/{org}/hooks/{hookId}/config',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use \"[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook).\"\n *\n * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission.\n */\nexport const useOrgsGetWebhookConfigForOrg = <TData = Schemas.WebhookConfig>(\n  variables: OrgsGetWebhookConfigForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.WebhookConfig,\n      OrgsGetWebhookConfigForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.WebhookConfig,\n    OrgsGetWebhookConfigForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/hooks/{hook_id}/config',\n      operationId: 'orgsGetWebhookConfigForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsGetWebhookConfigForOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsUpdateWebhookConfigForOrgPathParams = {\n  org: string;\n  hookId: number;\n};\n\nexport type OrgsUpdateWebhookConfigForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type OrgsUpdateWebhookConfigForOrgRequestBody = {\n  content_type?: Schemas.WebhookConfigContentType;\n  insecure_ssl?: Schemas.WebhookConfigInsecureSsl;\n  secret?: Schemas.WebhookConfigSecret;\n  url?: Schemas.WebhookConfigUrl;\n};\n\nexport type OrgsUpdateWebhookConfigForOrgVariables = {\n  body?: OrgsUpdateWebhookConfigForOrgRequestBody;\n  pathParams: OrgsUpdateWebhookConfigForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use \"[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook).\"\n *\n * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission.\n */\nexport const fetchOrgsUpdateWebhookConfigForOrg = (\n  variables: OrgsUpdateWebhookConfigForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.WebhookConfig,\n    OrgsUpdateWebhookConfigForOrgError,\n    OrgsUpdateWebhookConfigForOrgRequestBody,\n    {},\n    {},\n    OrgsUpdateWebhookConfigForOrgPathParams\n  >({\n    url: '/orgs/{org}/hooks/{hookId}/config',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use \"[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook).\"\n *\n * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission.\n */\nexport const useOrgsUpdateWebhookConfigForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.WebhookConfig,\n      OrgsUpdateWebhookConfigForOrgError,\n      OrgsUpdateWebhookConfigForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.WebhookConfig,\n    OrgsUpdateWebhookConfigForOrgError,\n    OrgsUpdateWebhookConfigForOrgVariables\n  >(\n    (variables: OrgsUpdateWebhookConfigForOrgVariables) =>\n      fetchOrgsUpdateWebhookConfigForOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OrgsPingWebhookPathParams = {\n  org: string;\n  hookId: number;\n};\n\nexport type OrgsPingWebhookError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type OrgsPingWebhookVariables = {\n  pathParams: OrgsPingWebhookPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook.\n */\nexport const fetchOrgsPingWebhook = (\n  variables: OrgsPingWebhookVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsPingWebhookError,\n    undefined,\n    {},\n    {},\n    OrgsPingWebhookPathParams\n  >({\n    url: '/orgs/{org}/hooks/{hookId}/pings',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook.\n */\nexport const useOrgsPingWebhook = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OrgsPingWebhookError,\n      OrgsPingWebhookVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OrgsPingWebhookError,\n    OrgsPingWebhookVariables\n  >(\n    (variables: OrgsPingWebhookVariables) =>\n      fetchOrgsPingWebhook({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsGetOrgInstallationPathParams = {\n  org: string;\n};\n\nexport type AppsGetOrgInstallationError = Fetcher.ErrorWrapper<undefined>;\n\nexport type AppsGetOrgInstallationVariables = {\n  pathParams: AppsGetOrgInstallationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Enables an authenticated GitHub App to find the organization's installation information.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const fetchAppsGetOrgInstallation = (\n  variables: AppsGetOrgInstallationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Installation,\n    AppsGetOrgInstallationError,\n    undefined,\n    {},\n    {},\n    AppsGetOrgInstallationPathParams\n  >({ url: '/orgs/{org}/installation', method: 'get', ...variables, signal });\n\n/**\n * Enables an authenticated GitHub App to find the organization's installation information.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const useAppsGetOrgInstallation = <TData = Schemas.Installation>(\n  variables: AppsGetOrgInstallationVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Installation,\n      AppsGetOrgInstallationError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Installation,\n    AppsGetOrgInstallationError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/installation',\n      operationId: 'appsGetOrgInstallation',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsGetOrgInstallation({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsListAppInstallationsPathParams = {\n  org: string;\n};\n\nexport type OrgsListAppInstallationsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type OrgsListAppInstallationsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type OrgsListAppInstallationsResponse = {\n  installations: Schemas.Installation[];\n  total_count: number;\n};\n\nexport type OrgsListAppInstallationsVariables = {\n  pathParams: OrgsListAppInstallationsPathParams;\n  queryParams?: OrgsListAppInstallationsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint.\n */\nexport const fetchOrgsListAppInstallations = (\n  variables: OrgsListAppInstallationsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListAppInstallationsResponse,\n    OrgsListAppInstallationsError,\n    undefined,\n    {},\n    OrgsListAppInstallationsQueryParams,\n    OrgsListAppInstallationsPathParams\n  >({ url: '/orgs/{org}/installations', method: 'get', ...variables, signal });\n\n/**\n * Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint.\n */\nexport const useOrgsListAppInstallations = <\n  TData = OrgsListAppInstallationsResponse,\n>(\n  variables: OrgsListAppInstallationsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListAppInstallationsResponse,\n      OrgsListAppInstallationsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListAppInstallationsResponse,\n    OrgsListAppInstallationsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/installations',\n      operationId: 'orgsListAppInstallations',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListAppInstallations(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type InteractionsRemoveRestrictionsForOrgPathParams = {\n  org: string;\n};\n\nexport type InteractionsRemoveRestrictionsForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type InteractionsRemoveRestrictionsForOrgVariables = {\n  pathParams: InteractionsRemoveRestrictionsForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions.\n */\nexport const fetchInteractionsRemoveRestrictionsForOrg = (\n  variables: InteractionsRemoveRestrictionsForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    InteractionsRemoveRestrictionsForOrgError,\n    undefined,\n    {},\n    {},\n    InteractionsRemoveRestrictionsForOrgPathParams\n  >({\n    url: '/orgs/{org}/interaction-limits',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions.\n */\nexport const useInteractionsRemoveRestrictionsForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      InteractionsRemoveRestrictionsForOrgError,\n      InteractionsRemoveRestrictionsForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    InteractionsRemoveRestrictionsForOrgError,\n    InteractionsRemoveRestrictionsForOrgVariables\n  >(\n    (variables: InteractionsRemoveRestrictionsForOrgVariables) =>\n      fetchInteractionsRemoveRestrictionsForOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type InteractionsGetRestrictionsForOrgPathParams = {\n  org: string;\n};\n\nexport type InteractionsGetRestrictionsForOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type InteractionsGetRestrictionsForOrgVariables = {\n  pathParams: InteractionsGetRestrictionsForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response.\n */\nexport const fetchInteractionsGetRestrictionsForOrg = (\n  variables: InteractionsGetRestrictionsForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.InteractionLimitResponse,\n    InteractionsGetRestrictionsForOrgError,\n    undefined,\n    {},\n    {},\n    InteractionsGetRestrictionsForOrgPathParams\n  >({\n    url: '/orgs/{org}/interaction-limits',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response.\n */\nexport const useInteractionsGetRestrictionsForOrg = <\n  TData = Schemas.InteractionLimitResponse,\n>(\n  variables: InteractionsGetRestrictionsForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.InteractionLimitResponse,\n      InteractionsGetRestrictionsForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.InteractionLimitResponse,\n    InteractionsGetRestrictionsForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/interaction-limits',\n      operationId: 'interactionsGetRestrictionsForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchInteractionsGetRestrictionsForOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type InteractionsSetRestrictionsForOrgPathParams = {\n  org: string;\n};\n\nexport type InteractionsSetRestrictionsForOrgError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type InteractionsSetRestrictionsForOrgVariables = {\n  body: Schemas.InteractionLimit;\n  pathParams: InteractionsSetRestrictionsForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization.\n */\nexport const fetchInteractionsSetRestrictionsForOrg = (\n  variables: InteractionsSetRestrictionsForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.InteractionLimitResponse,\n    InteractionsSetRestrictionsForOrgError,\n    Schemas.InteractionLimit,\n    {},\n    {},\n    InteractionsSetRestrictionsForOrgPathParams\n  >({\n    url: '/orgs/{org}/interaction-limits',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization.\n */\nexport const useInteractionsSetRestrictionsForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.InteractionLimitResponse,\n      InteractionsSetRestrictionsForOrgError,\n      InteractionsSetRestrictionsForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.InteractionLimitResponse,\n    InteractionsSetRestrictionsForOrgError,\n    InteractionsSetRestrictionsForOrgVariables\n  >(\n    (variables: InteractionsSetRestrictionsForOrgVariables) =>\n      fetchInteractionsSetRestrictionsForOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type OrgsListPendingInvitationsPathParams = {\n  org: string;\n};\n\nexport type OrgsListPendingInvitationsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type OrgsListPendingInvitationsError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type OrgsListPendingInvitationsResponse =\n  Schemas.OrganizationInvitation[];\n\nexport type OrgsListPendingInvitationsVariables = {\n  pathParams: OrgsListPendingInvitationsPathParams;\n  queryParams?: OrgsListPendingInvitationsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.\n */\nexport const fetchOrgsListPendingInvitations = (\n  variables: OrgsListPendingInvitationsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListPendingInvitationsResponse,\n    OrgsListPendingInvitationsError,\n    undefined,\n    {},\n    OrgsListPendingInvitationsQueryParams,\n    OrgsListPendingInvitationsPathParams\n  >({ url: '/orgs/{org}/invitations', method: 'get', ...variables, signal });\n\n/**\n * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.\n */\nexport const useOrgsListPendingInvitations = <\n  TData = OrgsListPendingInvitationsResponse,\n>(\n  variables: OrgsListPendingInvitationsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListPendingInvitationsResponse,\n      OrgsListPendingInvitationsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListPendingInvitationsResponse,\n    OrgsListPendingInvitationsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/invitations',\n      operationId: 'orgsListPendingInvitations',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListPendingInvitations(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsCreateInvitationPathParams = {\n  org: string;\n};\n\nexport type OrgsCreateInvitationError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type OrgsCreateInvitationRequestBody = {\n  /**\n   * **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user.\n   */\n  email?: string;\n  /**\n   * **Required unless you provide `email`**. GitHub user ID for the person you are inviting.\n   */\n  invitee_id?: number;\n  /**\n   * Specify role for new member. Can be one of:\n   * \\* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams.\n   * \\* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation.\n   * \\* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization.\n   *\n   * @default direct_member\n   */\n  role?: 'admin' | 'direct_member' | 'billing_manager';\n  /**\n   * Specify IDs for the teams you want to invite new members to.\n   */\n  team_ids?: number[];\n};\n\nexport type OrgsCreateInvitationVariables = {\n  body?: OrgsCreateInvitationRequestBody;\n  pathParams: OrgsCreateInvitationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const fetchOrgsCreateInvitation = (\n  variables: OrgsCreateInvitationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.OrganizationInvitation,\n    OrgsCreateInvitationError,\n    OrgsCreateInvitationRequestBody,\n    {},\n    {},\n    OrgsCreateInvitationPathParams\n  >({ url: '/orgs/{org}/invitations', method: 'post', ...variables, signal });\n\n/**\n * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const useOrgsCreateInvitation = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.OrganizationInvitation,\n      OrgsCreateInvitationError,\n      OrgsCreateInvitationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.OrganizationInvitation,\n    OrgsCreateInvitationError,\n    OrgsCreateInvitationVariables\n  >(\n    (variables: OrgsCreateInvitationVariables) =>\n      fetchOrgsCreateInvitation({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OrgsCancelInvitationPathParams = {\n  org: string;\n  /**\n   * invitation_id parameter\n   */\n  invitationId: number;\n};\n\nexport type OrgsCancelInvitationError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type OrgsCancelInvitationVariables = {\n  pathParams: OrgsCancelInvitationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications).\n */\nexport const fetchOrgsCancelInvitation = (\n  variables: OrgsCancelInvitationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsCancelInvitationError,\n    undefined,\n    {},\n    {},\n    OrgsCancelInvitationPathParams\n  >({\n    url: '/orgs/{org}/invitations/{invitationId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications).\n */\nexport const useOrgsCancelInvitation = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OrgsCancelInvitationError,\n      OrgsCancelInvitationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OrgsCancelInvitationError,\n    OrgsCancelInvitationVariables\n  >(\n    (variables: OrgsCancelInvitationVariables) =>\n      fetchOrgsCancelInvitation({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OrgsListInvitationTeamsPathParams = {\n  org: string;\n  /**\n   * invitation_id parameter\n   */\n  invitationId: number;\n};\n\nexport type OrgsListInvitationTeamsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type OrgsListInvitationTeamsError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type OrgsListInvitationTeamsResponse = Schemas.Team[];\n\nexport type OrgsListInvitationTeamsVariables = {\n  pathParams: OrgsListInvitationTeamsPathParams;\n  queryParams?: OrgsListInvitationTeamsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner.\n */\nexport const fetchOrgsListInvitationTeams = (\n  variables: OrgsListInvitationTeamsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListInvitationTeamsResponse,\n    OrgsListInvitationTeamsError,\n    undefined,\n    {},\n    OrgsListInvitationTeamsQueryParams,\n    OrgsListInvitationTeamsPathParams\n  >({\n    url: '/orgs/{org}/invitations/{invitationId}/teams',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner.\n */\nexport const useOrgsListInvitationTeams = <\n  TData = OrgsListInvitationTeamsResponse,\n>(\n  variables: OrgsListInvitationTeamsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListInvitationTeamsResponse,\n      OrgsListInvitationTeamsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListInvitationTeamsResponse,\n    OrgsListInvitationTeamsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/invitations/{invitation_id}/teams',\n      operationId: 'orgsListInvitationTeams',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListInvitationTeams({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesListForOrgPathParams = {\n  org: string;\n};\n\nexport type IssuesListForOrgQueryParams = {\n  /**\n   * Indicates which sorts of issues to return. Can be one of:\n   * \\* `assigned`: Issues assigned to you\n   * \\* `created`: Issues created by you\n   * \\* `mentioned`: Issues mentioning you\n   * \\* `subscribed`: Issues you're subscribed to updates for\n   * \\* `all`: All issues the authenticated user can see, regardless of participation or creation\n   *\n   * @default assigned\n   */\n  filter?:\n    | 'assigned'\n    | 'created'\n    | 'mentioned'\n    | 'subscribed'\n    | 'repos'\n    | 'all';\n  /**\n   * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.\n   *\n   * @default open\n   */\n  state?: 'open' | 'closed' | 'all';\n  /**\n   * A list of comma separated label names. Example: `bug,ui,@high`\n   */\n  labels?: string;\n  /**\n   * What to sort results by. Can be either `created`, `updated`, `comments`.\n   *\n   * @default created\n   */\n  sort?: 'created' | 'updated' | 'comments';\n  /**\n   * One of `asc` (ascending) or `desc` (descending).\n   *\n   * @default desc\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListForOrgError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type IssuesListForOrgResponse = Schemas.Issue[];\n\nexport type IssuesListForOrgVariables = {\n  pathParams: IssuesListForOrgPathParams;\n  queryParams?: IssuesListForOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List issues in an organization assigned to the authenticated user.\n *\n * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\n * reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\n * the `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\n * request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.\n */\nexport const fetchIssuesListForOrg = (\n  variables: IssuesListForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListForOrgResponse,\n    IssuesListForOrgError,\n    undefined,\n    {},\n    IssuesListForOrgQueryParams,\n    IssuesListForOrgPathParams\n  >({ url: '/orgs/{org}/issues', method: 'get', ...variables, signal });\n\n/**\n * List issues in an organization assigned to the authenticated user.\n *\n * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\n * reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\n * the `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\n * request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.\n */\nexport const useIssuesListForOrg = <TData = IssuesListForOrgResponse>(\n  variables: IssuesListForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListForOrgResponse,\n      IssuesListForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListForOrgResponse,\n    IssuesListForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/issues',\n      operationId: 'issuesListForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListForOrg({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsListMembersPathParams = {\n  org: string;\n};\n\nexport type OrgsListMembersQueryParams = {\n  /**\n   * Filter members returned in the list. Can be one of:\n   * \\* `2fa_disabled` - Members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled. Available for organization owners.\n   * \\* `all` - All members the authenticated user can see.\n   *\n   * @default all\n   */\n  filter?: '2fa_disabled' | 'all';\n  /**\n   * Filter members returned by their role. Can be one of:\n   * \\* `all` - All members of the organization, regardless of role.\n   * \\* `admin` - Organization owners.\n   * \\* `member` - Non-owner organization members.\n   *\n   * @default all\n   */\n  role?: 'all' | 'admin' | 'member';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type OrgsListMembersError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type OrgsListMembersResponse = Schemas.SimpleUser[];\n\nexport type OrgsListMembersVariables = {\n  pathParams: OrgsListMembersPathParams;\n  queryParams?: OrgsListMembersQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned.\n */\nexport const fetchOrgsListMembers = (\n  variables: OrgsListMembersVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListMembersResponse,\n    OrgsListMembersError,\n    undefined,\n    {},\n    OrgsListMembersQueryParams,\n    OrgsListMembersPathParams\n  >({ url: '/orgs/{org}/members', method: 'get', ...variables, signal });\n\n/**\n * List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned.\n */\nexport const useOrgsListMembers = <TData = OrgsListMembersResponse>(\n  variables: OrgsListMembersVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListMembersResponse,\n      OrgsListMembersError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListMembersResponse,\n    OrgsListMembersError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/members',\n      operationId: 'orgsListMembers',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListMembers({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsRemoveMemberPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsRemoveMemberError = Fetcher.ErrorWrapper<{\n  status: 403;\n  payload: Responses.Forbidden;\n}>;\n\nexport type OrgsRemoveMemberVariables = {\n  pathParams: OrgsRemoveMemberPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.\n */\nexport const fetchOrgsRemoveMember = (\n  variables: OrgsRemoveMemberVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsRemoveMemberError,\n    undefined,\n    {},\n    {},\n    OrgsRemoveMemberPathParams\n  >({\n    url: '/orgs/{org}/members/{username}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.\n */\nexport const useOrgsRemoveMember = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OrgsRemoveMemberError,\n      OrgsRemoveMemberVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OrgsRemoveMemberError,\n    OrgsRemoveMemberVariables\n  >(\n    (variables: OrgsRemoveMemberVariables) =>\n      fetchOrgsRemoveMember({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OrgsCheckMembershipForUserPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsCheckMembershipForUserError = Fetcher.ErrorWrapper<undefined>;\n\nexport type OrgsCheckMembershipForUserVariables = {\n  pathParams: OrgsCheckMembershipForUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Check if a user is, publicly or privately, a member of the organization.\n */\nexport const fetchOrgsCheckMembershipForUser = (\n  variables: OrgsCheckMembershipForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsCheckMembershipForUserError,\n    undefined,\n    {},\n    {},\n    OrgsCheckMembershipForUserPathParams\n  >({\n    url: '/orgs/{org}/members/{username}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Check if a user is, publicly or privately, a member of the organization.\n */\nexport const useOrgsCheckMembershipForUser = <TData = undefined>(\n  variables: OrgsCheckMembershipForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      OrgsCheckMembershipForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<undefined, OrgsCheckMembershipForUserError, TData>(\n    queryKeyFn({\n      path: '/orgs/{org}/members/{username}',\n      operationId: 'orgsCheckMembershipForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsCheckMembershipForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsRemoveMembershipForUserPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsRemoveMembershipForUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type OrgsRemoveMembershipForUserVariables = {\n  pathParams: OrgsRemoveMembershipForUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * In order to remove a user's membership with an organization, the authenticated user must be an organization owner.\n *\n * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.\n */\nexport const fetchOrgsRemoveMembershipForUser = (\n  variables: OrgsRemoveMembershipForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsRemoveMembershipForUserError,\n    undefined,\n    {},\n    {},\n    OrgsRemoveMembershipForUserPathParams\n  >({\n    url: '/orgs/{org}/memberships/{username}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * In order to remove a user's membership with an organization, the authenticated user must be an organization owner.\n *\n * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.\n */\nexport const useOrgsRemoveMembershipForUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OrgsRemoveMembershipForUserError,\n      OrgsRemoveMembershipForUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OrgsRemoveMembershipForUserError,\n    OrgsRemoveMembershipForUserVariables\n  >(\n    (variables: OrgsRemoveMembershipForUserVariables) =>\n      fetchOrgsRemoveMembershipForUser({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OrgsGetMembershipForUserPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsGetMembershipForUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type OrgsGetMembershipForUserVariables = {\n  pathParams: OrgsGetMembershipForUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * In order to get a user's membership with an organization, the authenticated user must be an organization member.\n */\nexport const fetchOrgsGetMembershipForUser = (\n  variables: OrgsGetMembershipForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.OrgMembership,\n    OrgsGetMembershipForUserError,\n    undefined,\n    {},\n    {},\n    OrgsGetMembershipForUserPathParams\n  >({\n    url: '/orgs/{org}/memberships/{username}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * In order to get a user's membership with an organization, the authenticated user must be an organization member.\n */\nexport const useOrgsGetMembershipForUser = <TData = Schemas.OrgMembership>(\n  variables: OrgsGetMembershipForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.OrgMembership,\n      OrgsGetMembershipForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.OrgMembership,\n    OrgsGetMembershipForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/memberships/{username}',\n      operationId: 'orgsGetMembershipForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsGetMembershipForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsSetMembershipForUserPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsSetMembershipForUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type OrgsSetMembershipForUserRequestBody = {\n  /**\n   * The role to give the user in the organization. Can be one of:\n   * \\* `admin` - The user will become an owner of the organization.\n   * \\* `member` - The user will become a non-owner member of the organization.\n   *\n   * @default member\n   */\n  role?: 'admin' | 'member';\n};\n\nexport type OrgsSetMembershipForUserVariables = {\n  body?: OrgsSetMembershipForUserRequestBody;\n  pathParams: OrgsSetMembershipForUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Only authenticated organization owners can add a member to the organization or update the member's role.\n *\n * *   If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation.\n *\n * *   Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent.\n *\n * **Rate limits**\n *\n * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period.\n */\nexport const fetchOrgsSetMembershipForUser = (\n  variables: OrgsSetMembershipForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.OrgMembership,\n    OrgsSetMembershipForUserError,\n    OrgsSetMembershipForUserRequestBody,\n    {},\n    {},\n    OrgsSetMembershipForUserPathParams\n  >({\n    url: '/orgs/{org}/memberships/{username}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Only authenticated organization owners can add a member to the organization or update the member's role.\n *\n * *   If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation.\n *\n * *   Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent.\n *\n * **Rate limits**\n *\n * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period.\n */\nexport const useOrgsSetMembershipForUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.OrgMembership,\n      OrgsSetMembershipForUserError,\n      OrgsSetMembershipForUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.OrgMembership,\n    OrgsSetMembershipForUserError,\n    OrgsSetMembershipForUserVariables\n  >(\n    (variables: OrgsSetMembershipForUserVariables) =>\n      fetchOrgsSetMembershipForUser({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type MigrationsListForOrgPathParams = {\n  org: string;\n};\n\nexport type MigrationsListForOrgQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Exclude attributes from the API response to improve performance\n   */\n  exclude?: 'repositories'[];\n};\n\nexport type MigrationsListForOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type MigrationsListForOrgResponse = Schemas.Migration[];\n\nexport type MigrationsListForOrgVariables = {\n  pathParams: MigrationsListForOrgPathParams;\n  queryParams?: MigrationsListForOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the most recent migrations.\n */\nexport const fetchMigrationsListForOrg = (\n  variables: MigrationsListForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    MigrationsListForOrgResponse,\n    MigrationsListForOrgError,\n    undefined,\n    {},\n    MigrationsListForOrgQueryParams,\n    MigrationsListForOrgPathParams\n  >({ url: '/orgs/{org}/migrations', method: 'get', ...variables, signal });\n\n/**\n * Lists the most recent migrations.\n */\nexport const useMigrationsListForOrg = <TData = MigrationsListForOrgResponse>(\n  variables: MigrationsListForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      MigrationsListForOrgResponse,\n      MigrationsListForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    MigrationsListForOrgResponse,\n    MigrationsListForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/migrations',\n      operationId: 'migrationsListForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchMigrationsListForOrg({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type MigrationsStartForOrgPathParams = {\n  org: string;\n};\n\nexport type MigrationsStartForOrgError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type MigrationsStartForOrgRequestBody = {\n  exclude?: string[];\n  /**\n   * Indicates whether attachments should be excluded from the migration (to reduce migration archive file size).\n   *\n   * @default false\n   */\n  exclude_attachments?: boolean;\n  /**\n   * Indicates whether repositories should be locked (to prevent manipulation) while migrating data.\n   *\n   * @default false\n   */\n  lock_repositories?: boolean;\n  /**\n   * A list of arrays indicating which repositories should be migrated.\n   */\n  repositories: string[];\n};\n\nexport type MigrationsStartForOrgVariables = {\n  body: MigrationsStartForOrgRequestBody;\n  pathParams: MigrationsStartForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Initiates the generation of a migration archive.\n */\nexport const fetchMigrationsStartForOrg = (\n  variables: MigrationsStartForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Migration,\n    MigrationsStartForOrgError,\n    MigrationsStartForOrgRequestBody,\n    {},\n    {},\n    MigrationsStartForOrgPathParams\n  >({ url: '/orgs/{org}/migrations', method: 'post', ...variables, signal });\n\n/**\n * Initiates the generation of a migration archive.\n */\nexport const useMigrationsStartForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Migration,\n      MigrationsStartForOrgError,\n      MigrationsStartForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Migration,\n    MigrationsStartForOrgError,\n    MigrationsStartForOrgVariables\n  >(\n    (variables: MigrationsStartForOrgVariables) =>\n      fetchMigrationsStartForOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type MigrationsGetStatusForOrgPathParams = {\n  org: string;\n  /**\n   * migration_id parameter\n   */\n  migrationId: number;\n};\n\nexport type MigrationsGetStatusForOrgQueryParams = {\n  /**\n   * Exclude attributes from the API response to improve performance\n   */\n  exclude?: 'repositories'[];\n};\n\nexport type MigrationsGetStatusForOrgError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type MigrationsGetStatusForOrgVariables = {\n  pathParams: MigrationsGetStatusForOrgPathParams;\n  queryParams?: MigrationsGetStatusForOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Fetches the status of a migration.\n *\n * The `state` of a migration can be one of the following values:\n *\n * *   `pending`, which means the migration hasn't started yet.\n * *   `exporting`, which means the migration is in progress.\n * *   `exported`, which means the migration finished successfully.\n * *   `failed`, which means the migration failed.\n */\nexport const fetchMigrationsGetStatusForOrg = (\n  variables: MigrationsGetStatusForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Migration,\n    MigrationsGetStatusForOrgError,\n    undefined,\n    {},\n    MigrationsGetStatusForOrgQueryParams,\n    MigrationsGetStatusForOrgPathParams\n  >({\n    url: '/orgs/{org}/migrations/{migrationId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Fetches the status of a migration.\n *\n * The `state` of a migration can be one of the following values:\n *\n * *   `pending`, which means the migration hasn't started yet.\n * *   `exporting`, which means the migration is in progress.\n * *   `exported`, which means the migration finished successfully.\n * *   `failed`, which means the migration failed.\n */\nexport const useMigrationsGetStatusForOrg = <TData = Schemas.Migration>(\n  variables: MigrationsGetStatusForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Migration,\n      MigrationsGetStatusForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Migration,\n    MigrationsGetStatusForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/migrations/{migration_id}',\n      operationId: 'migrationsGetStatusForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchMigrationsGetStatusForOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type MigrationsDeleteArchiveForOrgPathParams = {\n  org: string;\n  /**\n   * migration_id parameter\n   */\n  migrationId: number;\n};\n\nexport type MigrationsDeleteArchiveForOrgError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type MigrationsDeleteArchiveForOrgVariables = {\n  pathParams: MigrationsDeleteArchiveForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a previous migration archive. Migration archives are automatically deleted after seven days.\n */\nexport const fetchMigrationsDeleteArchiveForOrg = (\n  variables: MigrationsDeleteArchiveForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    MigrationsDeleteArchiveForOrgError,\n    undefined,\n    {},\n    {},\n    MigrationsDeleteArchiveForOrgPathParams\n  >({\n    url: '/orgs/{org}/migrations/{migrationId}/archive',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a previous migration archive. Migration archives are automatically deleted after seven days.\n */\nexport const useMigrationsDeleteArchiveForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      MigrationsDeleteArchiveForOrgError,\n      MigrationsDeleteArchiveForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    MigrationsDeleteArchiveForOrgError,\n    MigrationsDeleteArchiveForOrgVariables\n  >(\n    (variables: MigrationsDeleteArchiveForOrgVariables) =>\n      fetchMigrationsDeleteArchiveForOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type MigrationsDownloadArchiveForOrgPathParams = {\n  org: string;\n  /**\n   * migration_id parameter\n   */\n  migrationId: number;\n};\n\nexport type MigrationsDownloadArchiveForOrgError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type MigrationsDownloadArchiveForOrgVariables = {\n  pathParams: MigrationsDownloadArchiveForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Fetches the URL to a migration archive.\n */\nexport const fetchMigrationsDownloadArchiveForOrg = (\n  variables: MigrationsDownloadArchiveForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    MigrationsDownloadArchiveForOrgError,\n    undefined,\n    {},\n    {},\n    MigrationsDownloadArchiveForOrgPathParams\n  >({\n    url: '/orgs/{org}/migrations/{migrationId}/archive',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Fetches the URL to a migration archive.\n */\nexport const useMigrationsDownloadArchiveForOrg = <TData = undefined>(\n  variables: MigrationsDownloadArchiveForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      MigrationsDownloadArchiveForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    MigrationsDownloadArchiveForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/migrations/{migration_id}/archive',\n      operationId: 'migrationsDownloadArchiveForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchMigrationsDownloadArchiveForOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type MigrationsUnlockRepoForOrgPathParams = {\n  org: string;\n  /**\n   * migration_id parameter\n   */\n  migrationId: number;\n  /**\n   * repo_name parameter\n   */\n  repoName: string;\n};\n\nexport type MigrationsUnlockRepoForOrgError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type MigrationsUnlockRepoForOrgVariables = {\n  pathParams: MigrationsUnlockRepoForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data.\n */\nexport const fetchMigrationsUnlockRepoForOrg = (\n  variables: MigrationsUnlockRepoForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    MigrationsUnlockRepoForOrgError,\n    undefined,\n    {},\n    {},\n    MigrationsUnlockRepoForOrgPathParams\n  >({\n    url: '/orgs/{org}/migrations/{migrationId}/repos/{repoName}/lock',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data.\n */\nexport const useMigrationsUnlockRepoForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      MigrationsUnlockRepoForOrgError,\n      MigrationsUnlockRepoForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    MigrationsUnlockRepoForOrgError,\n    MigrationsUnlockRepoForOrgVariables\n  >(\n    (variables: MigrationsUnlockRepoForOrgVariables) =>\n      fetchMigrationsUnlockRepoForOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type MigrationsListReposForOrgPathParams = {\n  org: string;\n  /**\n   * migration_id parameter\n   */\n  migrationId: number;\n};\n\nexport type MigrationsListReposForOrgQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type MigrationsListReposForOrgError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type MigrationsListReposForOrgResponse = Schemas.MinimalRepository[];\n\nexport type MigrationsListReposForOrgVariables = {\n  pathParams: MigrationsListReposForOrgPathParams;\n  queryParams?: MigrationsListReposForOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List all the repositories for this organization migration.\n */\nexport const fetchMigrationsListReposForOrg = (\n  variables: MigrationsListReposForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    MigrationsListReposForOrgResponse,\n    MigrationsListReposForOrgError,\n    undefined,\n    {},\n    MigrationsListReposForOrgQueryParams,\n    MigrationsListReposForOrgPathParams\n  >({\n    url: '/orgs/{org}/migrations/{migrationId}/repositories',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List all the repositories for this organization migration.\n */\nexport const useMigrationsListReposForOrg = <\n  TData = MigrationsListReposForOrgResponse,\n>(\n  variables: MigrationsListReposForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      MigrationsListReposForOrgResponse,\n      MigrationsListReposForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    MigrationsListReposForOrgResponse,\n    MigrationsListReposForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/migrations/{migration_id}/repositories',\n      operationId: 'migrationsListReposForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchMigrationsListReposForOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsListOutsideCollaboratorsPathParams = {\n  org: string;\n};\n\nexport type OrgsListOutsideCollaboratorsQueryParams = {\n  /**\n   * Filter the list of outside collaborators. Can be one of:\n   * \\* `2fa_disabled`: Outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled.\n   * \\* `all`: All outside collaborators.\n   *\n   * @default all\n   */\n  filter?: '2fa_disabled' | 'all';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type OrgsListOutsideCollaboratorsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type OrgsListOutsideCollaboratorsResponse = Schemas.SimpleUser[];\n\nexport type OrgsListOutsideCollaboratorsVariables = {\n  pathParams: OrgsListOutsideCollaboratorsPathParams;\n  queryParams?: OrgsListOutsideCollaboratorsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List all users who are outside collaborators of an organization.\n */\nexport const fetchOrgsListOutsideCollaborators = (\n  variables: OrgsListOutsideCollaboratorsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListOutsideCollaboratorsResponse,\n    OrgsListOutsideCollaboratorsError,\n    undefined,\n    {},\n    OrgsListOutsideCollaboratorsQueryParams,\n    OrgsListOutsideCollaboratorsPathParams\n  >({\n    url: '/orgs/{org}/outside_collaborators',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List all users who are outside collaborators of an organization.\n */\nexport const useOrgsListOutsideCollaborators = <\n  TData = OrgsListOutsideCollaboratorsResponse,\n>(\n  variables: OrgsListOutsideCollaboratorsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListOutsideCollaboratorsResponse,\n      OrgsListOutsideCollaboratorsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListOutsideCollaboratorsResponse,\n    OrgsListOutsideCollaboratorsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/outside_collaborators',\n      operationId: 'orgsListOutsideCollaborators',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListOutsideCollaborators(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsRemoveOutsideCollaboratorPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsRemoveOutsideCollaboratorError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: {\n    documentation_url?: string;\n    message?: string;\n  };\n}>;\n\nexport type OrgsRemoveOutsideCollaboratorVariables = {\n  pathParams: OrgsRemoveOutsideCollaboratorPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removing a user from this list will remove them from all the organization's repositories.\n */\nexport const fetchOrgsRemoveOutsideCollaborator = (\n  variables: OrgsRemoveOutsideCollaboratorVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsRemoveOutsideCollaboratorError,\n    undefined,\n    {},\n    {},\n    OrgsRemoveOutsideCollaboratorPathParams\n  >({\n    url: '/orgs/{org}/outside_collaborators/{username}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removing a user from this list will remove them from all the organization's repositories.\n */\nexport const useOrgsRemoveOutsideCollaborator = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OrgsRemoveOutsideCollaboratorError,\n      OrgsRemoveOutsideCollaboratorVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OrgsRemoveOutsideCollaboratorError,\n    OrgsRemoveOutsideCollaboratorVariables\n  >(\n    (variables: OrgsRemoveOutsideCollaboratorVariables) =>\n      fetchOrgsRemoveOutsideCollaborator({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OrgsConvertMemberToOutsideCollaboratorPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsConvertMemberToOutsideCollaboratorError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: {\n        documentation_url?: string;\n        message?: string;\n      };\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type OrgsConvertMemberToOutsideCollaboratorVariables = {\n  pathParams: OrgsConvertMemberToOutsideCollaboratorPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see \"[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)\".\n */\nexport const fetchOrgsConvertMemberToOutsideCollaborator = (\n  variables: OrgsConvertMemberToOutsideCollaboratorVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsConvertMemberToOutsideCollaboratorError,\n    undefined,\n    {},\n    {},\n    OrgsConvertMemberToOutsideCollaboratorPathParams\n  >({\n    url: '/orgs/{org}/outside_collaborators/{username}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see \"[Converting an organization member to an outside collaborator](https://help.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)\".\n */\nexport const useOrgsConvertMemberToOutsideCollaborator = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OrgsConvertMemberToOutsideCollaboratorError,\n      OrgsConvertMemberToOutsideCollaboratorVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OrgsConvertMemberToOutsideCollaboratorError,\n    OrgsConvertMemberToOutsideCollaboratorVariables\n  >(\n    (variables: OrgsConvertMemberToOutsideCollaboratorVariables) =>\n      fetchOrgsConvertMemberToOutsideCollaborator({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type PackagesDeletePackageForOrgPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  org: string;\n};\n\nexport type PackagesDeletePackageForOrgError = Fetcher.ErrorWrapper<\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type PackagesDeletePackageForOrgVariables = {\n  pathParams: PackagesDeletePackageForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 25 downloads. In this scenario, contact GitHub support for further assistance.\n *\n * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` scope. In addition:\n * - If `package_type` is not `container`, your token must also include the `repo` scope.\n * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete.\n */\nexport const fetchPackagesDeletePackageForOrg = (\n  variables: PackagesDeletePackageForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    PackagesDeletePackageForOrgError,\n    undefined,\n    {},\n    {},\n    PackagesDeletePackageForOrgPathParams\n  >({\n    url: '/orgs/{org}/packages/{packageType}/{packageName}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 25 downloads. In this scenario, contact GitHub support for further assistance.\n *\n * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` scope. In addition:\n * - If `package_type` is not `container`, your token must also include the `repo` scope.\n * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete.\n */\nexport const usePackagesDeletePackageForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      PackagesDeletePackageForOrgError,\n      PackagesDeletePackageForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    PackagesDeletePackageForOrgError,\n    PackagesDeletePackageForOrgVariables\n  >(\n    (variables: PackagesDeletePackageForOrgVariables) =>\n      fetchPackagesDeletePackageForOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PackagesGetPackageForOrganizationPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  org: string;\n};\n\nexport type PackagesGetPackageForOrganizationError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type PackagesGetPackageForOrganizationVariables = {\n  pathParams: PackagesGetPackageForOrganizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific package in an organization.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesGetPackageForOrganization = (\n  variables: PackagesGetPackageForOrganizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Package,\n    PackagesGetPackageForOrganizationError,\n    undefined,\n    {},\n    {},\n    PackagesGetPackageForOrganizationPathParams\n  >({\n    url: '/orgs/{org}/packages/{packageType}/{packageName}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific package in an organization.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesGetPackageForOrganization = <TData = Schemas.Package>(\n  variables: PackagesGetPackageForOrganizationVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Package,\n      PackagesGetPackageForOrganizationError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Package,\n    PackagesGetPackageForOrganizationError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/packages/{package_type}/{package_name}',\n      operationId: 'packagesGetPackageForOrganization',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPackagesGetPackageForOrganization(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PackagesRestorePackageForOrgPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  org: string;\n};\n\nexport type PackagesRestorePackageForOrgQueryParams = {\n  /**\n   * package token\n   */\n  token?: string;\n};\n\nexport type PackagesRestorePackageForOrgError = Fetcher.ErrorWrapper<\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type PackagesRestorePackageForOrgVariables = {\n  pathParams: PackagesRestorePackageForOrgPathParams;\n  queryParams?: PackagesRestorePackageForOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Restores an entire package in an organization.\n *\n * You can restore a deleted package under the following conditions:\n *   - The package was deleted within the last 30 days.\n *   - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.\n *\n * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scope. In addition:\n * - If `package_type` is not `container`, your token must also include the `repo` scope.\n * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore.\n */\nexport const fetchPackagesRestorePackageForOrg = (\n  variables: PackagesRestorePackageForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    PackagesRestorePackageForOrgError,\n    undefined,\n    {},\n    PackagesRestorePackageForOrgQueryParams,\n    PackagesRestorePackageForOrgPathParams\n  >({\n    url: '/orgs/{org}/packages/{packageType}/{packageName}/restore',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Restores an entire package in an organization.\n *\n * You can restore a deleted package under the following conditions:\n *   - The package was deleted within the last 30 days.\n *   - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.\n *\n * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scope. In addition:\n * - If `package_type` is not `container`, your token must also include the `repo` scope.\n * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore.\n */\nexport const usePackagesRestorePackageForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      PackagesRestorePackageForOrgError,\n      PackagesRestorePackageForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    PackagesRestorePackageForOrgError,\n    PackagesRestorePackageForOrgVariables\n  >(\n    (variables: PackagesRestorePackageForOrgVariables) =>\n      fetchPackagesRestorePackageForOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByOrgPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  org: string;\n};\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByOrgQueryParams = {\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * The state of the package, either active or deleted.\n   *\n   * @default active\n   */\n  state?: 'active' | 'deleted';\n};\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByOrgError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n  >;\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByOrgResponse =\n  Schemas.PackageVersion[];\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByOrgVariables = {\n  pathParams: PackagesGetAllPackageVersionsForPackageOwnedByOrgPathParams;\n  queryParams?: PackagesGetAllPackageVersionsForPackageOwnedByOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns all package versions for a package owned by an organization.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesGetAllPackageVersionsForPackageOwnedByOrg = (\n  variables: PackagesGetAllPackageVersionsForPackageOwnedByOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    PackagesGetAllPackageVersionsForPackageOwnedByOrgResponse,\n    PackagesGetAllPackageVersionsForPackageOwnedByOrgError,\n    undefined,\n    {},\n    PackagesGetAllPackageVersionsForPackageOwnedByOrgQueryParams,\n    PackagesGetAllPackageVersionsForPackageOwnedByOrgPathParams\n  >({\n    url: '/orgs/{org}/packages/{packageType}/{packageName}/versions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns all package versions for a package owned by an organization.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesGetAllPackageVersionsForPackageOwnedByOrg = <\n  TData = PackagesGetAllPackageVersionsForPackageOwnedByOrgResponse,\n>(\n  variables: PackagesGetAllPackageVersionsForPackageOwnedByOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      PackagesGetAllPackageVersionsForPackageOwnedByOrgResponse,\n      PackagesGetAllPackageVersionsForPackageOwnedByOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    PackagesGetAllPackageVersionsForPackageOwnedByOrgResponse,\n    PackagesGetAllPackageVersionsForPackageOwnedByOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/packages/{package_type}/{package_name}/versions',\n      operationId: 'packagesGetAllPackageVersionsForPackageOwnedByOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPackagesGetAllPackageVersionsForPackageOwnedByOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PackagesDeletePackageVersionForOrgPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  org: string;\n  /**\n   * Unique identifier of the package version.\n   */\n  packageVersionId: number;\n};\n\nexport type PackagesDeletePackageVersionForOrgError = Fetcher.ErrorWrapper<\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type PackagesDeletePackageVersionForOrgVariables = {\n  pathParams: PackagesDeletePackageVersionForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a specific package version in an organization. If the package is public and the package version has more than 25 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance.\n *\n * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` scope. In addition:\n * - If `package_type` is not `container`, your token must also include the `repo` scope.\n * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete.\n */\nexport const fetchPackagesDeletePackageVersionForOrg = (\n  variables: PackagesDeletePackageVersionForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    PackagesDeletePackageVersionForOrgError,\n    undefined,\n    {},\n    {},\n    PackagesDeletePackageVersionForOrgPathParams\n  >({\n    url: '/orgs/{org}/packages/{packageType}/{packageName}/versions/{packageVersionId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a specific package version in an organization. If the package is public and the package version has more than 25 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance.\n *\n * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` scope. In addition:\n * - If `package_type` is not `container`, your token must also include the `repo` scope.\n * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete.\n */\nexport const usePackagesDeletePackageVersionForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      PackagesDeletePackageVersionForOrgError,\n      PackagesDeletePackageVersionForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    PackagesDeletePackageVersionForOrgError,\n    PackagesDeletePackageVersionForOrgVariables\n  >(\n    (variables: PackagesDeletePackageVersionForOrgVariables) =>\n      fetchPackagesDeletePackageVersionForOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type PackagesGetPackageVersionForOrganizationPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  org: string;\n  /**\n   * Unique identifier of the package version.\n   */\n  packageVersionId: number;\n};\n\nexport type PackagesGetPackageVersionForOrganizationError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type PackagesGetPackageVersionForOrganizationVariables = {\n  pathParams: PackagesGetPackageVersionForOrganizationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific package version in an organization.\n *\n * You must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesGetPackageVersionForOrganization = (\n  variables: PackagesGetPackageVersionForOrganizationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PackageVersion,\n    PackagesGetPackageVersionForOrganizationError,\n    undefined,\n    {},\n    {},\n    PackagesGetPackageVersionForOrganizationPathParams\n  >({\n    url: '/orgs/{org}/packages/{packageType}/{packageName}/versions/{packageVersionId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific package version in an organization.\n *\n * You must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesGetPackageVersionForOrganization = <\n  TData = Schemas.PackageVersion,\n>(\n  variables: PackagesGetPackageVersionForOrganizationVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PackageVersion,\n      PackagesGetPackageVersionForOrganizationError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.PackageVersion,\n    PackagesGetPackageVersionForOrganizationError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}',\n      operationId: 'packagesGetPackageVersionForOrganization',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPackagesGetPackageVersionForOrganization(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PackagesRestorePackageVersionForOrgPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  org: string;\n  /**\n   * Unique identifier of the package version.\n   */\n  packageVersionId: number;\n};\n\nexport type PackagesRestorePackageVersionForOrgError = Fetcher.ErrorWrapper<\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type PackagesRestorePackageVersionForOrgVariables = {\n  pathParams: PackagesRestorePackageVersionForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Restores a specific package version in an organization.\n *\n * You can restore a deleted package under the following conditions:\n *   - The package was deleted within the last 30 days.\n *   - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.\n *\n * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scope. In addition:\n * - If `package_type` is not `container`, your token must also include the `repo` scope.\n * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore.\n */\nexport const fetchPackagesRestorePackageVersionForOrg = (\n  variables: PackagesRestorePackageVersionForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    PackagesRestorePackageVersionForOrgError,\n    undefined,\n    {},\n    {},\n    PackagesRestorePackageVersionForOrgPathParams\n  >({\n    url: '/orgs/{org}/packages/{packageType}/{packageName}/versions/{packageVersionId}/restore',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Restores a specific package version in an organization.\n *\n * You can restore a deleted package under the following conditions:\n *   - The package was deleted within the last 30 days.\n *   - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.\n *\n * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scope. In addition:\n * - If `package_type` is not `container`, your token must also include the `repo` scope.\n * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore.\n */\nexport const usePackagesRestorePackageVersionForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      PackagesRestorePackageVersionForOrgError,\n      PackagesRestorePackageVersionForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    PackagesRestorePackageVersionForOrgError,\n    PackagesRestorePackageVersionForOrgVariables\n  >(\n    (variables: PackagesRestorePackageVersionForOrgVariables) =>\n      fetchPackagesRestorePackageVersionForOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ProjectsListForOrgPathParams = {\n  org: string;\n};\n\nexport type ProjectsListForOrgQueryParams = {\n  /**\n   * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`.\n   *\n   * @default open\n   */\n  state?: 'open' | 'closed' | 'all';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ProjectsListForOrgError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailedSimple;\n}>;\n\nexport type ProjectsListForOrgResponse = Schemas.Project[];\n\nexport type ProjectsListForOrgVariables = {\n  pathParams: ProjectsListForOrgPathParams;\n  queryParams?: ProjectsListForOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.\n */\nexport const fetchProjectsListForOrg = (\n  variables: ProjectsListForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ProjectsListForOrgResponse,\n    ProjectsListForOrgError,\n    undefined,\n    {},\n    ProjectsListForOrgQueryParams,\n    ProjectsListForOrgPathParams\n  >({ url: '/orgs/{org}/projects', method: 'get', ...variables, signal });\n\n/**\n * Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.\n */\nexport const useProjectsListForOrg = <TData = ProjectsListForOrgResponse>(\n  variables: ProjectsListForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ProjectsListForOrgResponse,\n      ProjectsListForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ProjectsListForOrgResponse,\n    ProjectsListForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/projects',\n      operationId: 'projectsListForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchProjectsListForOrg({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ProjectsCreateForOrgPathParams = {\n  org: string;\n};\n\nexport type ProjectsCreateForOrgError = Fetcher.ErrorWrapper<\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type ProjectsCreateForOrgRequestBody = {\n  /**\n   * The description of the project.\n   */\n  body?: string;\n  /**\n   * The name of the project.\n   */\n  name: string;\n};\n\nexport type ProjectsCreateForOrgVariables = {\n  body: ProjectsCreateForOrgRequestBody;\n  pathParams: ProjectsCreateForOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.\n */\nexport const fetchProjectsCreateForOrg = (\n  variables: ProjectsCreateForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Project,\n    ProjectsCreateForOrgError,\n    ProjectsCreateForOrgRequestBody,\n    {},\n    {},\n    ProjectsCreateForOrgPathParams\n  >({ url: '/orgs/{org}/projects', method: 'post', ...variables, signal });\n\n/**\n * Creates an organization project board. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.\n */\nexport const useProjectsCreateForOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Project,\n      ProjectsCreateForOrgError,\n      ProjectsCreateForOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Project,\n    ProjectsCreateForOrgError,\n    ProjectsCreateForOrgVariables\n  >(\n    (variables: ProjectsCreateForOrgVariables) =>\n      fetchProjectsCreateForOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type OrgsListPublicMembersPathParams = {\n  org: string;\n};\n\nexport type OrgsListPublicMembersQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type OrgsListPublicMembersError = Fetcher.ErrorWrapper<undefined>;\n\nexport type OrgsListPublicMembersResponse = Schemas.SimpleUser[];\n\nexport type OrgsListPublicMembersVariables = {\n  pathParams: OrgsListPublicMembersPathParams;\n  queryParams?: OrgsListPublicMembersQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Members of an organization can choose to have their membership publicized or not.\n */\nexport const fetchOrgsListPublicMembers = (\n  variables: OrgsListPublicMembersVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListPublicMembersResponse,\n    OrgsListPublicMembersError,\n    undefined,\n    {},\n    OrgsListPublicMembersQueryParams,\n    OrgsListPublicMembersPathParams\n  >({ url: '/orgs/{org}/public_members', method: 'get', ...variables, signal });\n\n/**\n * Members of an organization can choose to have their membership publicized or not.\n */\nexport const useOrgsListPublicMembers = <TData = OrgsListPublicMembersResponse>(\n  variables: OrgsListPublicMembersVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListPublicMembersResponse,\n      OrgsListPublicMembersError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListPublicMembersResponse,\n    OrgsListPublicMembersError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/public_members',\n      operationId: 'orgsListPublicMembers',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListPublicMembers({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsRemovePublicMembershipForAuthenticatedUserPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsRemovePublicMembershipForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type OrgsRemovePublicMembershipForAuthenticatedUserVariables = {\n  pathParams: OrgsRemovePublicMembershipForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchOrgsRemovePublicMembershipForAuthenticatedUser = (\n  variables: OrgsRemovePublicMembershipForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsRemovePublicMembershipForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    OrgsRemovePublicMembershipForAuthenticatedUserPathParams\n  >({\n    url: '/orgs/{org}/public_members/{username}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useOrgsRemovePublicMembershipForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OrgsRemovePublicMembershipForAuthenticatedUserError,\n      OrgsRemovePublicMembershipForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OrgsRemovePublicMembershipForAuthenticatedUserError,\n    OrgsRemovePublicMembershipForAuthenticatedUserVariables\n  >(\n    (variables: OrgsRemovePublicMembershipForAuthenticatedUserVariables) =>\n      fetchOrgsRemovePublicMembershipForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type OrgsCheckPublicMembershipForUserPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsCheckPublicMembershipForUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type OrgsCheckPublicMembershipForUserVariables = {\n  pathParams: OrgsCheckPublicMembershipForUserPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchOrgsCheckPublicMembershipForUser = (\n  variables: OrgsCheckPublicMembershipForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsCheckPublicMembershipForUserError,\n    undefined,\n    {},\n    {},\n    OrgsCheckPublicMembershipForUserPathParams\n  >({\n    url: '/orgs/{org}/public_members/{username}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useOrgsCheckPublicMembershipForUser = <TData = undefined>(\n  variables: OrgsCheckPublicMembershipForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      OrgsCheckPublicMembershipForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    OrgsCheckPublicMembershipForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/public_members/{username}',\n      operationId: 'orgsCheckPublicMembershipForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsCheckPublicMembershipForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsSetPublicMembershipForAuthenticatedUserPathParams = {\n  org: string;\n  username: string;\n};\n\nexport type OrgsSetPublicMembershipForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<{\n    status: 403;\n    payload: Responses.Forbidden;\n  }>;\n\nexport type OrgsSetPublicMembershipForAuthenticatedUserVariables = {\n  pathParams: OrgsSetPublicMembershipForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The user can publicize their own membership. (A user cannot publicize the membership for another user.)\n *\n * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n */\nexport const fetchOrgsSetPublicMembershipForAuthenticatedUser = (\n  variables: OrgsSetPublicMembershipForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    OrgsSetPublicMembershipForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    OrgsSetPublicMembershipForAuthenticatedUserPathParams\n  >({\n    url: '/orgs/{org}/public_members/{username}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * The user can publicize their own membership. (A user cannot publicize the membership for another user.)\n *\n * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n */\nexport const useOrgsSetPublicMembershipForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      OrgsSetPublicMembershipForAuthenticatedUserError,\n      OrgsSetPublicMembershipForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    OrgsSetPublicMembershipForAuthenticatedUserError,\n    OrgsSetPublicMembershipForAuthenticatedUserVariables\n  >(\n    (variables: OrgsSetPublicMembershipForAuthenticatedUserVariables) =>\n      fetchOrgsSetPublicMembershipForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposListForOrgPathParams = {\n  org: string;\n};\n\nexport type ReposListForOrgQueryParams = {\n  /**\n   * Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Note: For GitHub AE, can be one of `all`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`.\n   */\n  type?:\n    | 'all'\n    | 'public'\n    | 'private'\n    | 'forks'\n    | 'sources'\n    | 'member'\n    | 'internal';\n  /**\n   * Can be one of `created`, `updated`, `pushed`, `full_name`.\n   *\n   * @default created\n   */\n  sort?: 'created' | 'updated' | 'pushed' | 'full_name';\n  /**\n   * Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc`\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListForOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposListForOrgResponse = Schemas.MinimalRepository[];\n\nexport type ReposListForOrgVariables = {\n  pathParams: ReposListForOrgPathParams;\n  queryParams?: ReposListForOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists repositories for the specified organization.\n */\nexport const fetchReposListForOrg = (\n  variables: ReposListForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListForOrgResponse,\n    ReposListForOrgError,\n    undefined,\n    {},\n    ReposListForOrgQueryParams,\n    ReposListForOrgPathParams\n  >({ url: '/orgs/{org}/repos', method: 'get', ...variables, signal });\n\n/**\n * Lists repositories for the specified organization.\n */\nexport const useReposListForOrg = <TData = ReposListForOrgResponse>(\n  variables: ReposListForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListForOrgResponse,\n      ReposListForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListForOrgResponse,\n    ReposListForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/repos',\n      operationId: 'reposListForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListForOrg({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateInOrgPathParams = {\n  org: string;\n};\n\nexport type ReposCreateInOrgError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposCreateInOrgRequestBody = {\n  /**\n   * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.\n   *\n   * @default true\n   */\n  allow_merge_commit?: boolean;\n  /**\n   * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.\n   *\n   * @default true\n   */\n  allow_rebase_merge?: boolean;\n  /**\n   * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.\n   *\n   * @default true\n   */\n  allow_squash_merge?: boolean;\n  /**\n   * Pass `true` to create an initial commit with empty README.\n   *\n   * @default false\n   */\n  auto_init?: boolean;\n  /**\n   * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion.\n   *\n   * @default false\n   */\n  delete_branch_on_merge?: boolean;\n  /**\n   * A short description of the repository.\n   */\n  description?: string;\n  /**\n   * Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, \"Haskell\".\n   */\n  gitignore_template?: string;\n  /**\n   * Either `true` to enable issues for this repository or `false` to disable them.\n   *\n   * @default true\n   */\n  has_issues?: boolean;\n  /**\n   * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error.\n   *\n   * @default true\n   */\n  has_projects?: boolean;\n  /**\n   * Either `true` to enable the wiki for this repository or `false` to disable it.\n   *\n   * @default true\n   */\n  has_wiki?: boolean;\n  /**\n   * A URL with more information about the repository.\n   */\n  homepage?: string;\n  /**\n   * Either `true` to make this repo available as a template repository or `false` to prevent it.\n   *\n   * @default false\n   */\n  is_template?: boolean;\n  /**\n   * Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, \"mit\" or \"mpl-2.0\".\n   */\n  license_template?: string;\n  /**\n   * The name of the repository.\n   */\n  name: string;\n  /**\n   * Whether the repository is private.\n   *\n   * @default false\n   */\n  private?: boolean;\n  /**\n   * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization.\n   */\n  team_id?: number;\n  /**\n   * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. Note: For GitHub Enterprise Server and GitHub AE, this endpoint will only list repositories available to all users on the enterprise. For more information, see \"[Creating an internal repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)\" in the GitHub Help documentation.\n   * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header.\n   */\n  visibility?: 'public' | 'private' | 'visibility' | 'internal';\n};\n\nexport type ReposCreateInOrgVariables = {\n  body: ReposCreateInOrgRequestBody;\n  pathParams: ReposCreateInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates a new repository in the specified organization. The authenticated user must be a member of the organization.\n *\n * **OAuth scope requirements**\n *\n * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n *\n * *   `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n * *   `repo` scope to create a private repository\n */\nexport const fetchReposCreateInOrg = (\n  variables: ReposCreateInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Repository,\n    ReposCreateInOrgError,\n    ReposCreateInOrgRequestBody,\n    {},\n    {},\n    ReposCreateInOrgPathParams\n  >({ url: '/orgs/{org}/repos', method: 'post', ...variables, signal });\n\n/**\n * Creates a new repository in the specified organization. The authenticated user must be a member of the organization.\n *\n * **OAuth scope requirements**\n *\n * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n *\n * *   `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n * *   `repo` scope to create a private repository\n */\nexport const useReposCreateInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Repository,\n      ReposCreateInOrgError,\n      ReposCreateInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Repository,\n    ReposCreateInOrgError,\n    ReposCreateInOrgVariables\n  >(\n    (variables: ReposCreateInOrgVariables) =>\n      fetchReposCreateInOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type BillingGetGithubActionsBillingOrgPathParams = {\n  org: string;\n};\n\nexport type BillingGetGithubActionsBillingOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type BillingGetGithubActionsBillingOrgVariables = {\n  pathParams: BillingGetGithubActionsBillingOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the summary of the free and paid GitHub Actions minutes used.\n *\n * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n *\n * Access tokens must have the `repo` or `admin:org` scope.\n */\nexport const fetchBillingGetGithubActionsBillingOrg = (\n  variables: BillingGetGithubActionsBillingOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ActionsBillingUsage,\n    BillingGetGithubActionsBillingOrgError,\n    undefined,\n    {},\n    {},\n    BillingGetGithubActionsBillingOrgPathParams\n  >({\n    url: '/orgs/{org}/settings/billing/actions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the summary of the free and paid GitHub Actions minutes used.\n *\n * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n *\n * Access tokens must have the `repo` or `admin:org` scope.\n */\nexport const useBillingGetGithubActionsBillingOrg = <\n  TData = Schemas.ActionsBillingUsage,\n>(\n  variables: BillingGetGithubActionsBillingOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ActionsBillingUsage,\n      BillingGetGithubActionsBillingOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ActionsBillingUsage,\n    BillingGetGithubActionsBillingOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/settings/billing/actions',\n      operationId: 'billingGetGithubActionsBillingOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchBillingGetGithubActionsBillingOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type BillingGetGithubPackagesBillingOrgPathParams = {\n  org: string;\n};\n\nexport type BillingGetGithubPackagesBillingOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type BillingGetGithubPackagesBillingOrgVariables = {\n  pathParams: BillingGetGithubPackagesBillingOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the free and paid storage usued for GitHub Packages in gigabytes.\n *\n * Paid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n *\n * Access tokens must have the `repo` or `admin:org` scope.\n */\nexport const fetchBillingGetGithubPackagesBillingOrg = (\n  variables: BillingGetGithubPackagesBillingOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PackagesBillingUsage,\n    BillingGetGithubPackagesBillingOrgError,\n    undefined,\n    {},\n    {},\n    BillingGetGithubPackagesBillingOrgPathParams\n  >({\n    url: '/orgs/{org}/settings/billing/packages',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the free and paid storage usued for GitHub Packages in gigabytes.\n *\n * Paid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n *\n * Access tokens must have the `repo` or `admin:org` scope.\n */\nexport const useBillingGetGithubPackagesBillingOrg = <\n  TData = Schemas.PackagesBillingUsage,\n>(\n  variables: BillingGetGithubPackagesBillingOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PackagesBillingUsage,\n      BillingGetGithubPackagesBillingOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.PackagesBillingUsage,\n    BillingGetGithubPackagesBillingOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/settings/billing/packages',\n      operationId: 'billingGetGithubPackagesBillingOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchBillingGetGithubPackagesBillingOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type BillingGetSharedStorageBillingOrgPathParams = {\n  org: string;\n};\n\nexport type BillingGetSharedStorageBillingOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type BillingGetSharedStorageBillingOrgVariables = {\n  pathParams: BillingGetSharedStorageBillingOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.\n *\n * Paid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n *\n * Access tokens must have the `repo` or `admin:org` scope.\n */\nexport const fetchBillingGetSharedStorageBillingOrg = (\n  variables: BillingGetSharedStorageBillingOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CombinedBillingUsage,\n    BillingGetSharedStorageBillingOrgError,\n    undefined,\n    {},\n    {},\n    BillingGetSharedStorageBillingOrgPathParams\n  >({\n    url: '/orgs/{org}/settings/billing/shared-storage',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.\n *\n * Paid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n *\n * Access tokens must have the `repo` or `admin:org` scope.\n */\nexport const useBillingGetSharedStorageBillingOrg = <\n  TData = Schemas.CombinedBillingUsage,\n>(\n  variables: BillingGetSharedStorageBillingOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CombinedBillingUsage,\n      BillingGetSharedStorageBillingOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.CombinedBillingUsage,\n    BillingGetSharedStorageBillingOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/settings/billing/shared-storage',\n      operationId: 'billingGetSharedStorageBillingOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchBillingGetSharedStorageBillingOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsListIdpGroupsForOrgPathParams = {\n  org: string;\n};\n\nexport type TeamsListIdpGroupsForOrgQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page token\n   */\n  page?: string;\n};\n\nexport type TeamsListIdpGroupsForOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsListIdpGroupsForOrgVariables = {\n  pathParams: TeamsListIdpGroupsForOrgPathParams;\n  queryParams?: TeamsListIdpGroupsForOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see \"[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89).\"\n *\n * The `per_page` parameter provides pagination for a list of IdP groups the authenticated user can access in an organization. For example, if the user `octocat` wants to see two groups per page in `octo-org` via cURL, it would look like this:\n */\nexport const fetchTeamsListIdpGroupsForOrg = (\n  variables: TeamsListIdpGroupsForOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GroupMapping,\n    TeamsListIdpGroupsForOrgError,\n    undefined,\n    {},\n    TeamsListIdpGroupsForOrgQueryParams,\n    TeamsListIdpGroupsForOrgPathParams\n  >({\n    url: '/orgs/{org}/team-sync/groups',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see \"[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89).\"\n *\n * The `per_page` parameter provides pagination for a list of IdP groups the authenticated user can access in an organization. For example, if the user `octocat` wants to see two groups per page in `octo-org` via cURL, it would look like this:\n */\nexport const useTeamsListIdpGroupsForOrg = <TData = Schemas.GroupMapping>(\n  variables: TeamsListIdpGroupsForOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.GroupMapping,\n      TeamsListIdpGroupsForOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.GroupMapping,\n    TeamsListIdpGroupsForOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/team-sync/groups',\n      operationId: 'teamsListIdpGroupsForOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListIdpGroupsForOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsListPathParams = {\n  org: string;\n};\n\nexport type TeamsListQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListError = Fetcher.ErrorWrapper<{\n  status: 403;\n  payload: Responses.Forbidden;\n}>;\n\nexport type TeamsListResponse = Schemas.Team[];\n\nexport type TeamsListVariables = {\n  pathParams: TeamsListPathParams;\n  queryParams?: TeamsListQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all teams in an organization that are visible to the authenticated user.\n */\nexport const fetchTeamsList = (\n  variables: TeamsListVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListResponse,\n    TeamsListError,\n    undefined,\n    {},\n    TeamsListQueryParams,\n    TeamsListPathParams\n  >({ url: '/orgs/{org}/teams', method: 'get', ...variables, signal });\n\n/**\n * Lists all teams in an organization that are visible to the authenticated user.\n */\nexport const useTeamsList = <TData = TeamsListResponse>(\n  variables: TeamsListVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<TeamsListResponse, TeamsListError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<TeamsListResponse, TeamsListError, TData>(\n    queryKeyFn({\n      path: '/orgs/{org}/teams',\n      operationId: 'teamsList',\n      variables,\n    }),\n    ({ signal }) => fetchTeamsList({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsCreatePathParams = {\n  org: string;\n};\n\nexport type TeamsCreateError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type TeamsCreateRequestBody = {\n  /**\n   * The description of the team.\n   */\n  description?: string;\n  /**\n   * List GitHub IDs for organization members who will become team maintainers.\n   */\n  maintainers?: string[];\n  /**\n   * The name of the team.\n   */\n  name: string;\n  /**\n   * The ID of a team to set as the parent team.\n   */\n  parent_team_id?: number;\n  /**\n   * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of:\n   * \\* `pull` - team members can pull, but not push to or administer newly-added repositories.\n   * \\* `push` - team members can pull and push, but not administer newly-added repositories.\n   * \\* `admin` - team members can pull, push and administer newly-added repositories.\n   *\n   * @default pull\n   */\n  permission?: 'pull' | 'push' | 'admin';\n  /**\n   * The level of privacy this team should have. The options are:\n   * **For a non-nested team:**\n   * \\* `secret` - only visible to organization owners and members of this team.\n   * \\* `closed` - visible to all members of this organization.\n   * Default: `secret`\n   * **For a parent or child team:**\n   * \\* `closed` - visible to all members of this organization.\n   * Default for child team: `closed`\n   */\n  privacy?: 'secret' | 'closed';\n  /**\n   * The full name (e.g., \"organization-name/repository-name\") of repositories to add the team to.\n   */\n  repo_names?: string[];\n};\n\nexport type TeamsCreateVariables = {\n  body: TeamsCreateRequestBody;\n  pathParams: TeamsCreatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see \"[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization).\"\n *\n * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see \"[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)\".\n */\nexport const fetchTeamsCreate = (\n  variables: TeamsCreateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamFull,\n    TeamsCreateError,\n    TeamsCreateRequestBody,\n    {},\n    {},\n    TeamsCreatePathParams\n  >({ url: '/orgs/{org}/teams', method: 'post', ...variables, signal });\n\n/**\n * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see \"[Setting team creation permissions](https://help.github.com/en/articles/setting-team-creation-permissions-in-your-organization).\"\n *\n * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see \"[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)\".\n */\nexport const useTeamsCreate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamFull,\n      TeamsCreateError,\n      TeamsCreateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamFull,\n    TeamsCreateError,\n    TeamsCreateVariables\n  >(\n    (variables: TeamsCreateVariables) =>\n      fetchTeamsCreate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsDeleteInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n};\n\nexport type TeamsDeleteInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsDeleteInOrgVariables = {\n  pathParams: TeamsDeleteInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * To delete a team, the authenticated user must be an organization owner or team maintainer.\n *\n * If you are an organization owner, deleting a parent team will delete all of its child teams as well.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`.\n */\nexport const fetchTeamsDeleteInOrg = (\n  variables: TeamsDeleteInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsDeleteInOrgError,\n    undefined,\n    {},\n    {},\n    TeamsDeleteInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * To delete a team, the authenticated user must be an organization owner or team maintainer.\n *\n * If you are an organization owner, deleting a parent team will delete all of its child teams as well.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`.\n */\nexport const useTeamsDeleteInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsDeleteInOrgError,\n      TeamsDeleteInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsDeleteInOrgError,\n    TeamsDeleteInOrgVariables\n  >(\n    (variables: TeamsDeleteInOrgVariables) =>\n      fetchTeamsDeleteInOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsGetByNamePathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n};\n\nexport type TeamsGetByNameError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type TeamsGetByNameVariables = {\n  pathParams: TeamsGetByNamePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`.\n */\nexport const fetchTeamsGetByName = (\n  variables: TeamsGetByNameVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamFull,\n    TeamsGetByNameError,\n    undefined,\n    {},\n    {},\n    TeamsGetByNamePathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`.\n */\nexport const useTeamsGetByName = <TData = Schemas.TeamFull>(\n  variables: TeamsGetByNameVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.TeamFull, TeamsGetByNameError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.TeamFull, TeamsGetByNameError, TData>(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}',\n      operationId: 'teamsGetByName',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsGetByName({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsUpdateInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n};\n\nexport type TeamsUpdateInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsUpdateInOrgRequestBody = {\n  /**\n   * The description of the team.\n   */\n  description?: string;\n  /**\n   * The name of the team.\n   */\n  name?: string;\n  /**\n   * The ID of a team to set as the parent team.\n   */\n  parent_team_id?: number | null;\n  /**\n   * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of:\n   * \\* `pull` - team members can pull, but not push to or administer newly-added repositories.\n   * \\* `push` - team members can pull and push, but not administer newly-added repositories.\n   * \\* `admin` - team members can pull, push and administer newly-added repositories.\n   *\n   * @default pull\n   */\n  permission?: 'pull' | 'push' | 'admin';\n  /**\n   * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are:\n   * **For a non-nested team:**\n   * \\* `secret` - only visible to organization owners and members of this team.\n   * \\* `closed` - visible to all members of this organization.\n   * **For a parent or child team:**\n   * \\* `closed` - visible to all members of this organization.\n   */\n  privacy?: 'secret' | 'closed';\n};\n\nexport type TeamsUpdateInOrgVariables = {\n  body?: TeamsUpdateInOrgRequestBody;\n  pathParams: TeamsUpdateInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * To edit a team, the authenticated user must either be an organization owner or a team maintainer.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`.\n */\nexport const fetchTeamsUpdateInOrg = (\n  variables: TeamsUpdateInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamFull,\n    TeamsUpdateInOrgError,\n    TeamsUpdateInOrgRequestBody,\n    {},\n    {},\n    TeamsUpdateInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * To edit a team, the authenticated user must either be an organization owner or a team maintainer.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`.\n */\nexport const useTeamsUpdateInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamFull,\n      TeamsUpdateInOrgError,\n      TeamsUpdateInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamFull,\n    TeamsUpdateInOrgError,\n    TeamsUpdateInOrgVariables\n  >(\n    (variables: TeamsUpdateInOrgVariables) =>\n      fetchTeamsUpdateInOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsListDiscussionsInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n};\n\nexport type TeamsListDiscussionsInOrgQueryParams = {\n  /**\n   * One of `asc` (ascending) or `desc` (descending).\n   *\n   * @default desc\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Pinned discussions only filter\n   */\n  pinned?: string;\n};\n\nexport type TeamsListDiscussionsInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsListDiscussionsInOrgResponse = Schemas.TeamDiscussion[];\n\nexport type TeamsListDiscussionsInOrgVariables = {\n  pathParams: TeamsListDiscussionsInOrgPathParams;\n  queryParams?: TeamsListDiscussionsInOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`.\n */\nexport const fetchTeamsListDiscussionsInOrg = (\n  variables: TeamsListDiscussionsInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListDiscussionsInOrgResponse,\n    TeamsListDiscussionsInOrgError,\n    undefined,\n    {},\n    TeamsListDiscussionsInOrgQueryParams,\n    TeamsListDiscussionsInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`.\n */\nexport const useTeamsListDiscussionsInOrg = <\n  TData = TeamsListDiscussionsInOrgResponse,\n>(\n  variables: TeamsListDiscussionsInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListDiscussionsInOrgResponse,\n      TeamsListDiscussionsInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListDiscussionsInOrgResponse,\n    TeamsListDiscussionsInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/discussions',\n      operationId: 'teamsListDiscussionsInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListDiscussionsInOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsCreateDiscussionInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n};\n\nexport type TeamsCreateDiscussionInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsCreateDiscussionInOrgRequestBody = {\n  /**\n   * The discussion post's body text.\n   */\n  body: string;\n  /**\n   * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post.\n   *\n   * @default false\n   */\n  private?: boolean;\n  /**\n   * The discussion post's title.\n   */\n  title: string;\n};\n\nexport type TeamsCreateDiscussionInOrgVariables = {\n  body: TeamsCreateDiscussionInOrgRequestBody;\n  pathParams: TeamsCreateDiscussionInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`.\n */\nexport const fetchTeamsCreateDiscussionInOrg = (\n  variables: TeamsCreateDiscussionInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamDiscussion,\n    TeamsCreateDiscussionInOrgError,\n    TeamsCreateDiscussionInOrgRequestBody,\n    {},\n    {},\n    TeamsCreateDiscussionInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`.\n */\nexport const useTeamsCreateDiscussionInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamDiscussion,\n      TeamsCreateDiscussionInOrgError,\n      TeamsCreateDiscussionInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamDiscussion,\n    TeamsCreateDiscussionInOrgError,\n    TeamsCreateDiscussionInOrgVariables\n  >(\n    (variables: TeamsCreateDiscussionInOrgVariables) =>\n      fetchTeamsCreateDiscussionInOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsDeleteDiscussionInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n};\n\nexport type TeamsDeleteDiscussionInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsDeleteDiscussionInOrgVariables = {\n  pathParams: TeamsDeleteDiscussionInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.\n */\nexport const fetchTeamsDeleteDiscussionInOrg = (\n  variables: TeamsDeleteDiscussionInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsDeleteDiscussionInOrgError,\n    undefined,\n    {},\n    {},\n    TeamsDeleteDiscussionInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.\n */\nexport const useTeamsDeleteDiscussionInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsDeleteDiscussionInOrgError,\n      TeamsDeleteDiscussionInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsDeleteDiscussionInOrgError,\n    TeamsDeleteDiscussionInOrgVariables\n  >(\n    (variables: TeamsDeleteDiscussionInOrgVariables) =>\n      fetchTeamsDeleteDiscussionInOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsGetDiscussionInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n};\n\nexport type TeamsGetDiscussionInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsGetDiscussionInOrgVariables = {\n  pathParams: TeamsGetDiscussionInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.\n */\nexport const fetchTeamsGetDiscussionInOrg = (\n  variables: TeamsGetDiscussionInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamDiscussion,\n    TeamsGetDiscussionInOrgError,\n    undefined,\n    {},\n    {},\n    TeamsGetDiscussionInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.\n */\nexport const useTeamsGetDiscussionInOrg = <TData = Schemas.TeamDiscussion>(\n  variables: TeamsGetDiscussionInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.TeamDiscussion,\n      TeamsGetDiscussionInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.TeamDiscussion,\n    TeamsGetDiscussionInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}',\n      operationId: 'teamsGetDiscussionInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsGetDiscussionInOrg({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsUpdateDiscussionInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n};\n\nexport type TeamsUpdateDiscussionInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsUpdateDiscussionInOrgRequestBody = {\n  /**\n   * The discussion post's body text.\n   */\n  body?: string;\n  /**\n   * The discussion post's title.\n   */\n  title?: string;\n};\n\nexport type TeamsUpdateDiscussionInOrgVariables = {\n  body?: TeamsUpdateDiscussionInOrgRequestBody;\n  pathParams: TeamsUpdateDiscussionInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.\n */\nexport const fetchTeamsUpdateDiscussionInOrg = (\n  variables: TeamsUpdateDiscussionInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamDiscussion,\n    TeamsUpdateDiscussionInOrgError,\n    TeamsUpdateDiscussionInOrgRequestBody,\n    {},\n    {},\n    TeamsUpdateDiscussionInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`.\n */\nexport const useTeamsUpdateDiscussionInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamDiscussion,\n      TeamsUpdateDiscussionInOrgError,\n      TeamsUpdateDiscussionInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamDiscussion,\n    TeamsUpdateDiscussionInOrgError,\n    TeamsUpdateDiscussionInOrgVariables\n  >(\n    (variables: TeamsUpdateDiscussionInOrgVariables) =>\n      fetchTeamsUpdateDiscussionInOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsListDiscussionCommentsInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n};\n\nexport type TeamsListDiscussionCommentsInOrgQueryParams = {\n  /**\n   * One of `asc` (ascending) or `desc` (descending).\n   *\n   * @default desc\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListDiscussionCommentsInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsListDiscussionCommentsInOrgResponse =\n  Schemas.TeamDiscussionComment[];\n\nexport type TeamsListDiscussionCommentsInOrgVariables = {\n  pathParams: TeamsListDiscussionCommentsInOrgPathParams;\n  queryParams?: TeamsListDiscussionCommentsInOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`.\n */\nexport const fetchTeamsListDiscussionCommentsInOrg = (\n  variables: TeamsListDiscussionCommentsInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListDiscussionCommentsInOrgResponse,\n    TeamsListDiscussionCommentsInOrgError,\n    undefined,\n    {},\n    TeamsListDiscussionCommentsInOrgQueryParams,\n    TeamsListDiscussionCommentsInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}/comments',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`.\n */\nexport const useTeamsListDiscussionCommentsInOrg = <\n  TData = TeamsListDiscussionCommentsInOrgResponse,\n>(\n  variables: TeamsListDiscussionCommentsInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListDiscussionCommentsInOrgResponse,\n      TeamsListDiscussionCommentsInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListDiscussionCommentsInOrgResponse,\n    TeamsListDiscussionCommentsInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments',\n      operationId: 'teamsListDiscussionCommentsInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListDiscussionCommentsInOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsCreateDiscussionCommentInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n};\n\nexport type TeamsCreateDiscussionCommentInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsCreateDiscussionCommentInOrgRequestBody = {\n  /**\n   * The discussion comment's body text.\n   */\n  body: string;\n};\n\nexport type TeamsCreateDiscussionCommentInOrgVariables = {\n  body: TeamsCreateDiscussionCommentInOrgRequestBody;\n  pathParams: TeamsCreateDiscussionCommentInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`.\n */\nexport const fetchTeamsCreateDiscussionCommentInOrg = (\n  variables: TeamsCreateDiscussionCommentInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamDiscussionComment,\n    TeamsCreateDiscussionCommentInOrgError,\n    TeamsCreateDiscussionCommentInOrgRequestBody,\n    {},\n    {},\n    TeamsCreateDiscussionCommentInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}/comments',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`.\n */\nexport const useTeamsCreateDiscussionCommentInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamDiscussionComment,\n      TeamsCreateDiscussionCommentInOrgError,\n      TeamsCreateDiscussionCommentInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamDiscussionComment,\n    TeamsCreateDiscussionCommentInOrgError,\n    TeamsCreateDiscussionCommentInOrgVariables\n  >(\n    (variables: TeamsCreateDiscussionCommentInOrgVariables) =>\n      fetchTeamsCreateDiscussionCommentInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsDeleteDiscussionCommentInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n  commentNumber: number;\n};\n\nexport type TeamsDeleteDiscussionCommentInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsDeleteDiscussionCommentInOrgVariables = {\n  pathParams: TeamsDeleteDiscussionCommentInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.\n */\nexport const fetchTeamsDeleteDiscussionCommentInOrg = (\n  variables: TeamsDeleteDiscussionCommentInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsDeleteDiscussionCommentInOrgError,\n    undefined,\n    {},\n    {},\n    TeamsDeleteDiscussionCommentInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}/comments/{commentNumber}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.\n */\nexport const useTeamsDeleteDiscussionCommentInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsDeleteDiscussionCommentInOrgError,\n      TeamsDeleteDiscussionCommentInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsDeleteDiscussionCommentInOrgError,\n    TeamsDeleteDiscussionCommentInOrgVariables\n  >(\n    (variables: TeamsDeleteDiscussionCommentInOrgVariables) =>\n      fetchTeamsDeleteDiscussionCommentInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsGetDiscussionCommentInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n  commentNumber: number;\n};\n\nexport type TeamsGetDiscussionCommentInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsGetDiscussionCommentInOrgVariables = {\n  pathParams: TeamsGetDiscussionCommentInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.\n */\nexport const fetchTeamsGetDiscussionCommentInOrg = (\n  variables: TeamsGetDiscussionCommentInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamDiscussionComment,\n    TeamsGetDiscussionCommentInOrgError,\n    undefined,\n    {},\n    {},\n    TeamsGetDiscussionCommentInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}/comments/{commentNumber}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.\n */\nexport const useTeamsGetDiscussionCommentInOrg = <\n  TData = Schemas.TeamDiscussionComment,\n>(\n  variables: TeamsGetDiscussionCommentInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.TeamDiscussionComment,\n      TeamsGetDiscussionCommentInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.TeamDiscussionComment,\n    TeamsGetDiscussionCommentInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}',\n      operationId: 'teamsGetDiscussionCommentInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsGetDiscussionCommentInOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsUpdateDiscussionCommentInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n  commentNumber: number;\n};\n\nexport type TeamsUpdateDiscussionCommentInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsUpdateDiscussionCommentInOrgRequestBody = {\n  /**\n   * The discussion comment's body text.\n   */\n  body: string;\n};\n\nexport type TeamsUpdateDiscussionCommentInOrgVariables = {\n  body: TeamsUpdateDiscussionCommentInOrgRequestBody;\n  pathParams: TeamsUpdateDiscussionCommentInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.\n */\nexport const fetchTeamsUpdateDiscussionCommentInOrg = (\n  variables: TeamsUpdateDiscussionCommentInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamDiscussionComment,\n    TeamsUpdateDiscussionCommentInOrgError,\n    TeamsUpdateDiscussionCommentInOrgRequestBody,\n    {},\n    {},\n    TeamsUpdateDiscussionCommentInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}/comments/{commentNumber}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`.\n */\nexport const useTeamsUpdateDiscussionCommentInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamDiscussionComment,\n      TeamsUpdateDiscussionCommentInOrgError,\n      TeamsUpdateDiscussionCommentInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamDiscussionComment,\n    TeamsUpdateDiscussionCommentInOrgError,\n    TeamsUpdateDiscussionCommentInOrgVariables\n  >(\n    (variables: TeamsUpdateDiscussionCommentInOrgVariables) =>\n      fetchTeamsUpdateDiscussionCommentInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReactionsListForTeamDiscussionCommentInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n  commentNumber: number;\n};\n\nexport type ReactionsListForTeamDiscussionCommentInOrgQueryParams = {\n  /**\n   * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment.\n   */\n  content?:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReactionsListForTeamDiscussionCommentInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsListForTeamDiscussionCommentInOrgResponse =\n  Schemas.Reaction[];\n\nexport type ReactionsListForTeamDiscussionCommentInOrgVariables = {\n  pathParams: ReactionsListForTeamDiscussionCommentInOrgPathParams;\n  queryParams?: ReactionsListForTeamDiscussionCommentInOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`.\n */\nexport const fetchReactionsListForTeamDiscussionCommentInOrg = (\n  variables: ReactionsListForTeamDiscussionCommentInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReactionsListForTeamDiscussionCommentInOrgResponse,\n    ReactionsListForTeamDiscussionCommentInOrgError,\n    undefined,\n    {},\n    ReactionsListForTeamDiscussionCommentInOrgQueryParams,\n    ReactionsListForTeamDiscussionCommentInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}/comments/{commentNumber}/reactions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`.\n */\nexport const useReactionsListForTeamDiscussionCommentInOrg = <\n  TData = ReactionsListForTeamDiscussionCommentInOrgResponse,\n>(\n  variables: ReactionsListForTeamDiscussionCommentInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReactionsListForTeamDiscussionCommentInOrgResponse,\n      ReactionsListForTeamDiscussionCommentInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReactionsListForTeamDiscussionCommentInOrgResponse,\n    ReactionsListForTeamDiscussionCommentInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions',\n      operationId: 'reactionsListForTeamDiscussionCommentInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReactionsListForTeamDiscussionCommentInOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReactionsCreateForTeamDiscussionCommentInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n  commentNumber: number;\n};\n\nexport type ReactionsCreateForTeamDiscussionCommentInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsCreateForTeamDiscussionCommentInOrgRequestBody = {\n  /**\n   * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment.\n   */\n  content:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n};\n\nexport type ReactionsCreateForTeamDiscussionCommentInOrgVariables = {\n  body: ReactionsCreateForTeamDiscussionCommentInOrgRequestBody;\n  pathParams: ReactionsCreateForTeamDiscussionCommentInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`.\n */\nexport const fetchReactionsCreateForTeamDiscussionCommentInOrg = (\n  variables: ReactionsCreateForTeamDiscussionCommentInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Reaction,\n    ReactionsCreateForTeamDiscussionCommentInOrgError,\n    ReactionsCreateForTeamDiscussionCommentInOrgRequestBody,\n    {},\n    {},\n    ReactionsCreateForTeamDiscussionCommentInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}/comments/{commentNumber}/reactions',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`.\n */\nexport const useReactionsCreateForTeamDiscussionCommentInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Reaction,\n      ReactionsCreateForTeamDiscussionCommentInOrgError,\n      ReactionsCreateForTeamDiscussionCommentInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Reaction,\n    ReactionsCreateForTeamDiscussionCommentInOrgError,\n    ReactionsCreateForTeamDiscussionCommentInOrgVariables\n  >(\n    (variables: ReactionsCreateForTeamDiscussionCommentInOrgVariables) =>\n      fetchReactionsCreateForTeamDiscussionCommentInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReactionsDeleteForTeamDiscussionCommentPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n  commentNumber: number;\n  reactionId: number;\n};\n\nexport type ReactionsDeleteForTeamDiscussionCommentError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsDeleteForTeamDiscussionCommentVariables = {\n  pathParams: ReactionsDeleteForTeamDiscussionCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`.\n *\n * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchReactionsDeleteForTeamDiscussionComment = (\n  variables: ReactionsDeleteForTeamDiscussionCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReactionsDeleteForTeamDiscussionCommentError,\n    undefined,\n    {},\n    {},\n    ReactionsDeleteForTeamDiscussionCommentPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}/comments/{commentNumber}/reactions/{reactionId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`.\n *\n * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useReactionsDeleteForTeamDiscussionComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReactionsDeleteForTeamDiscussionCommentError,\n      ReactionsDeleteForTeamDiscussionCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReactionsDeleteForTeamDiscussionCommentError,\n    ReactionsDeleteForTeamDiscussionCommentVariables\n  >(\n    (variables: ReactionsDeleteForTeamDiscussionCommentVariables) =>\n      fetchReactionsDeleteForTeamDiscussionComment({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReactionsListForTeamDiscussionInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n};\n\nexport type ReactionsListForTeamDiscussionInOrgQueryParams = {\n  /**\n   * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion.\n   */\n  content?:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReactionsListForTeamDiscussionInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsListForTeamDiscussionInOrgResponse = Schemas.Reaction[];\n\nexport type ReactionsListForTeamDiscussionInOrgVariables = {\n  pathParams: ReactionsListForTeamDiscussionInOrgPathParams;\n  queryParams?: ReactionsListForTeamDiscussionInOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`.\n */\nexport const fetchReactionsListForTeamDiscussionInOrg = (\n  variables: ReactionsListForTeamDiscussionInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReactionsListForTeamDiscussionInOrgResponse,\n    ReactionsListForTeamDiscussionInOrgError,\n    undefined,\n    {},\n    ReactionsListForTeamDiscussionInOrgQueryParams,\n    ReactionsListForTeamDiscussionInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}/reactions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`.\n */\nexport const useReactionsListForTeamDiscussionInOrg = <\n  TData = ReactionsListForTeamDiscussionInOrgResponse,\n>(\n  variables: ReactionsListForTeamDiscussionInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReactionsListForTeamDiscussionInOrgResponse,\n      ReactionsListForTeamDiscussionInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReactionsListForTeamDiscussionInOrgResponse,\n    ReactionsListForTeamDiscussionInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions',\n      operationId: 'reactionsListForTeamDiscussionInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReactionsListForTeamDiscussionInOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReactionsCreateForTeamDiscussionInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n};\n\nexport type ReactionsCreateForTeamDiscussionInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsCreateForTeamDiscussionInOrgRequestBody = {\n  /**\n   * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion.\n   */\n  content:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n};\n\nexport type ReactionsCreateForTeamDiscussionInOrgVariables = {\n  body: ReactionsCreateForTeamDiscussionInOrgRequestBody;\n  pathParams: ReactionsCreateForTeamDiscussionInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`.\n */\nexport const fetchReactionsCreateForTeamDiscussionInOrg = (\n  variables: ReactionsCreateForTeamDiscussionInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Reaction,\n    ReactionsCreateForTeamDiscussionInOrgError,\n    ReactionsCreateForTeamDiscussionInOrgRequestBody,\n    {},\n    {},\n    ReactionsCreateForTeamDiscussionInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}/reactions',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`.\n */\nexport const useReactionsCreateForTeamDiscussionInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Reaction,\n      ReactionsCreateForTeamDiscussionInOrgError,\n      ReactionsCreateForTeamDiscussionInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Reaction,\n    ReactionsCreateForTeamDiscussionInOrgError,\n    ReactionsCreateForTeamDiscussionInOrgVariables\n  >(\n    (variables: ReactionsCreateForTeamDiscussionInOrgVariables) =>\n      fetchReactionsCreateForTeamDiscussionInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReactionsDeleteForTeamDiscussionPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  discussionNumber: number;\n  reactionId: number;\n};\n\nexport type ReactionsDeleteForTeamDiscussionError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsDeleteForTeamDiscussionVariables = {\n  pathParams: ReactionsDeleteForTeamDiscussionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`.\n *\n * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchReactionsDeleteForTeamDiscussion = (\n  variables: ReactionsDeleteForTeamDiscussionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReactionsDeleteForTeamDiscussionError,\n    undefined,\n    {},\n    {},\n    ReactionsDeleteForTeamDiscussionPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/discussions/{discussionNumber}/reactions/{reactionId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`.\n *\n * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useReactionsDeleteForTeamDiscussion = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReactionsDeleteForTeamDiscussionError,\n      ReactionsDeleteForTeamDiscussionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReactionsDeleteForTeamDiscussionError,\n    ReactionsDeleteForTeamDiscussionVariables\n  >(\n    (variables: ReactionsDeleteForTeamDiscussionVariables) =>\n      fetchReactionsDeleteForTeamDiscussion({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsListPendingInvitationsInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n};\n\nexport type TeamsListPendingInvitationsInOrgQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListPendingInvitationsInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsListPendingInvitationsInOrgResponse =\n  Schemas.OrganizationInvitation[];\n\nexport type TeamsListPendingInvitationsInOrgVariables = {\n  pathParams: TeamsListPendingInvitationsInOrgPathParams;\n  queryParams?: TeamsListPendingInvitationsInOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`.\n */\nexport const fetchTeamsListPendingInvitationsInOrg = (\n  variables: TeamsListPendingInvitationsInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListPendingInvitationsInOrgResponse,\n    TeamsListPendingInvitationsInOrgError,\n    undefined,\n    {},\n    TeamsListPendingInvitationsInOrgQueryParams,\n    TeamsListPendingInvitationsInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/invitations',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`.\n */\nexport const useTeamsListPendingInvitationsInOrg = <\n  TData = TeamsListPendingInvitationsInOrgResponse,\n>(\n  variables: TeamsListPendingInvitationsInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListPendingInvitationsInOrgResponse,\n      TeamsListPendingInvitationsInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListPendingInvitationsInOrgResponse,\n    TeamsListPendingInvitationsInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/invitations',\n      operationId: 'teamsListPendingInvitationsInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListPendingInvitationsInOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsListMembersInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n};\n\nexport type TeamsListMembersInOrgQueryParams = {\n  /**\n   * Filters members returned by their role in the team. Can be one of:\n   * \\* `member` - normal members of the team.\n   * \\* `maintainer` - team maintainers.\n   * \\* `all` - all members of the team.\n   *\n   * @default all\n   */\n  role?: 'member' | 'maintainer' | 'all';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListMembersInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsListMembersInOrgResponse = Schemas.SimpleUser[];\n\nexport type TeamsListMembersInOrgVariables = {\n  pathParams: TeamsListMembersInOrgPathParams;\n  queryParams?: TeamsListMembersInOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Team members will include the members of child teams.\n *\n * To list members in a team, the team must be visible to the authenticated user.\n */\nexport const fetchTeamsListMembersInOrg = (\n  variables: TeamsListMembersInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListMembersInOrgResponse,\n    TeamsListMembersInOrgError,\n    undefined,\n    {},\n    TeamsListMembersInOrgQueryParams,\n    TeamsListMembersInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/members',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Team members will include the members of child teams.\n *\n * To list members in a team, the team must be visible to the authenticated user.\n */\nexport const useTeamsListMembersInOrg = <TData = TeamsListMembersInOrgResponse>(\n  variables: TeamsListMembersInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListMembersInOrgResponse,\n      TeamsListMembersInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListMembersInOrgResponse,\n    TeamsListMembersInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/members',\n      operationId: 'teamsListMembersInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListMembersInOrg({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsRemoveMembershipForUserInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  username: string;\n};\n\nexport type TeamsRemoveMembershipForUserInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsRemoveMembershipForUserInOrgVariables = {\n  pathParams: TeamsRemoveMembershipForUserInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team.\n *\n * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`.\n */\nexport const fetchTeamsRemoveMembershipForUserInOrg = (\n  variables: TeamsRemoveMembershipForUserInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsRemoveMembershipForUserInOrgError,\n    undefined,\n    {},\n    {},\n    TeamsRemoveMembershipForUserInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/memberships/{username}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team.\n *\n * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`.\n */\nexport const useTeamsRemoveMembershipForUserInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsRemoveMembershipForUserInOrgError,\n      TeamsRemoveMembershipForUserInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsRemoveMembershipForUserInOrgError,\n    TeamsRemoveMembershipForUserInOrgVariables\n  >(\n    (variables: TeamsRemoveMembershipForUserInOrgVariables) =>\n      fetchTeamsRemoveMembershipForUserInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsGetMembershipForUserInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  username: string;\n};\n\nexport type TeamsGetMembershipForUserInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsGetMembershipForUserInOrgVariables = {\n  pathParams: TeamsGetMembershipForUserInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Team members will include the members of child teams.\n *\n * To get a user's membership with a team, the team must be visible to the authenticated user.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`.\n *\n * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team).\n */\nexport const fetchTeamsGetMembershipForUserInOrg = (\n  variables: TeamsGetMembershipForUserInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamMembership,\n    TeamsGetMembershipForUserInOrgError,\n    undefined,\n    {},\n    {},\n    TeamsGetMembershipForUserInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/memberships/{username}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Team members will include the members of child teams.\n *\n * To get a user's membership with a team, the team must be visible to the authenticated user.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`.\n *\n * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team).\n */\nexport const useTeamsGetMembershipForUserInOrg = <\n  TData = Schemas.TeamMembership,\n>(\n  variables: TeamsGetMembershipForUserInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.TeamMembership,\n      TeamsGetMembershipForUserInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.TeamMembership,\n    TeamsGetMembershipForUserInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/memberships/{username}',\n      operationId: 'teamsGetMembershipForUserInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsGetMembershipForUserInOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsAddOrUpdateMembershipForUserInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  username: string;\n};\n\nexport type TeamsAddOrUpdateMembershipForUserInOrgError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: {\n    errors?: {\n      code?: string;\n      field?: string;\n      resource?: string;\n    }[];\n    message?: string;\n  };\n}>;\n\nexport type TeamsAddOrUpdateMembershipForUserInOrgRequestBody = {\n  /**\n   * The role that this user should have in the team. Can be one of:\n   * \\* `member` - a normal member of the team.\n   * \\* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description.\n   *\n   * @default member\n   */\n  role?: 'member' | 'maintainer';\n};\n\nexport type TeamsAddOrUpdateMembershipForUserInOrgVariables = {\n  body?: TeamsAddOrUpdateMembershipForUserInOrgRequestBody;\n  pathParams: TeamsAddOrUpdateMembershipForUserInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team.\n *\n * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n *\n * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the \"pending\" state until the person accepts the invitation, at which point the membership will transition to the \"active\" state and the user will be added as a member of the team.\n *\n * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`.\n */\nexport const fetchTeamsAddOrUpdateMembershipForUserInOrg = (\n  variables: TeamsAddOrUpdateMembershipForUserInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamMembership,\n    TeamsAddOrUpdateMembershipForUserInOrgError,\n    TeamsAddOrUpdateMembershipForUserInOrgRequestBody,\n    {},\n    {},\n    TeamsAddOrUpdateMembershipForUserInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/memberships/{username}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team.\n *\n * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n *\n * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the \"pending\" state until the person accepts the invitation, at which point the membership will transition to the \"active\" state and the user will be added as a member of the team.\n *\n * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`.\n */\nexport const useTeamsAddOrUpdateMembershipForUserInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamMembership,\n      TeamsAddOrUpdateMembershipForUserInOrgError,\n      TeamsAddOrUpdateMembershipForUserInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamMembership,\n    TeamsAddOrUpdateMembershipForUserInOrgError,\n    TeamsAddOrUpdateMembershipForUserInOrgVariables\n  >(\n    (variables: TeamsAddOrUpdateMembershipForUserInOrgVariables) =>\n      fetchTeamsAddOrUpdateMembershipForUserInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsListProjectsInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n};\n\nexport type TeamsListProjectsInOrgQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListProjectsInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsListProjectsInOrgResponse = Schemas.TeamProject[];\n\nexport type TeamsListProjectsInOrgVariables = {\n  pathParams: TeamsListProjectsInOrgPathParams;\n  queryParams?: TeamsListProjectsInOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the organization projects for a team.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`.\n */\nexport const fetchTeamsListProjectsInOrg = (\n  variables: TeamsListProjectsInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListProjectsInOrgResponse,\n    TeamsListProjectsInOrgError,\n    undefined,\n    {},\n    TeamsListProjectsInOrgQueryParams,\n    TeamsListProjectsInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/projects',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the organization projects for a team.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`.\n */\nexport const useTeamsListProjectsInOrg = <\n  TData = TeamsListProjectsInOrgResponse,\n>(\n  variables: TeamsListProjectsInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListProjectsInOrgResponse,\n      TeamsListProjectsInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListProjectsInOrgResponse,\n    TeamsListProjectsInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/projects',\n      operationId: 'teamsListProjectsInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListProjectsInOrg({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsRemoveProjectInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  projectId: number;\n};\n\nexport type TeamsRemoveProjectInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsRemoveProjectInOrgVariables = {\n  pathParams: TeamsRemoveProjectInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`.\n */\nexport const fetchTeamsRemoveProjectInOrg = (\n  variables: TeamsRemoveProjectInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsRemoveProjectInOrgError,\n    undefined,\n    {},\n    {},\n    TeamsRemoveProjectInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/projects/{projectId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`.\n */\nexport const useTeamsRemoveProjectInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsRemoveProjectInOrgError,\n      TeamsRemoveProjectInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsRemoveProjectInOrgError,\n    TeamsRemoveProjectInOrgVariables\n  >(\n    (variables: TeamsRemoveProjectInOrgVariables) =>\n      fetchTeamsRemoveProjectInOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsCheckPermissionsForProjectInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  projectId: number;\n};\n\nexport type TeamsCheckPermissionsForProjectInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsCheckPermissionsForProjectInOrgVariables = {\n  pathParams: TeamsCheckPermissionsForProjectInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`.\n */\nexport const fetchTeamsCheckPermissionsForProjectInOrg = (\n  variables: TeamsCheckPermissionsForProjectInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamProject,\n    TeamsCheckPermissionsForProjectInOrgError,\n    undefined,\n    {},\n    {},\n    TeamsCheckPermissionsForProjectInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/projects/{projectId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`.\n */\nexport const useTeamsCheckPermissionsForProjectInOrg = <\n  TData = Schemas.TeamProject,\n>(\n  variables: TeamsCheckPermissionsForProjectInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.TeamProject,\n      TeamsCheckPermissionsForProjectInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.TeamProject,\n    TeamsCheckPermissionsForProjectInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/projects/{project_id}',\n      operationId: 'teamsCheckPermissionsForProjectInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsCheckPermissionsForProjectInOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsAddOrUpdateProjectPermissionsInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  projectId: number;\n};\n\nexport type TeamsAddOrUpdateProjectPermissionsInOrgError =\n  Fetcher.ErrorWrapper<{\n    status: 403;\n    payload: {\n      documentation_url?: string;\n      message?: string;\n    };\n  }>;\n\nexport type TeamsAddOrUpdateProjectPermissionsInOrgVariables = {\n  body?: {\n    /**\n     * The permission to grant to the team for this project. Can be one of:\n     * \\* `read` - team members can read, but not write to or administer this project.\n     * \\* `write` - team members can read and write, but not administer this project.\n     * \\* `admin` - team members can read, write and administer this project.\n     * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n     */\n    permission?: 'read' | 'write' | 'admin';\n  } | null;\n  pathParams: TeamsAddOrUpdateProjectPermissionsInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`.\n */\nexport const fetchTeamsAddOrUpdateProjectPermissionsInOrg = (\n  variables: TeamsAddOrUpdateProjectPermissionsInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsAddOrUpdateProjectPermissionsInOrgError,\n    {\n      /**\n       * The permission to grant to the team for this project. Can be one of:\n       * \\* `read` - team members can read, but not write to or administer this project.\n       * \\* `write` - team members can read and write, but not administer this project.\n       * \\* `admin` - team members can read, write and administer this project.\n       * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n       */\n      permission?: 'read' | 'write' | 'admin';\n    } | null,\n    {},\n    {},\n    TeamsAddOrUpdateProjectPermissionsInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/projects/{projectId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`.\n */\nexport const useTeamsAddOrUpdateProjectPermissionsInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsAddOrUpdateProjectPermissionsInOrgError,\n      TeamsAddOrUpdateProjectPermissionsInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsAddOrUpdateProjectPermissionsInOrgError,\n    TeamsAddOrUpdateProjectPermissionsInOrgVariables\n  >(\n    (variables: TeamsAddOrUpdateProjectPermissionsInOrgVariables) =>\n      fetchTeamsAddOrUpdateProjectPermissionsInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsListReposInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n};\n\nexport type TeamsListReposInOrgQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListReposInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsListReposInOrgResponse = Schemas.MinimalRepository[];\n\nexport type TeamsListReposInOrgVariables = {\n  pathParams: TeamsListReposInOrgPathParams;\n  queryParams?: TeamsListReposInOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists a team's repositories visible to the authenticated user.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`.\n */\nexport const fetchTeamsListReposInOrg = (\n  variables: TeamsListReposInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListReposInOrgResponse,\n    TeamsListReposInOrgError,\n    undefined,\n    {},\n    TeamsListReposInOrgQueryParams,\n    TeamsListReposInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/repos',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists a team's repositories visible to the authenticated user.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`.\n */\nexport const useTeamsListReposInOrg = <TData = TeamsListReposInOrgResponse>(\n  variables: TeamsListReposInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListReposInOrgResponse,\n      TeamsListReposInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListReposInOrgResponse,\n    TeamsListReposInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/repos',\n      operationId: 'teamsListReposInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListReposInOrg({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsRemoveRepoInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  owner: string;\n  repo: string;\n};\n\nexport type TeamsRemoveRepoInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsRemoveRepoInOrgVariables = {\n  pathParams: TeamsRemoveRepoInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.\n */\nexport const fetchTeamsRemoveRepoInOrg = (\n  variables: TeamsRemoveRepoInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsRemoveRepoInOrgError,\n    undefined,\n    {},\n    {},\n    TeamsRemoveRepoInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/repos/{owner}/{repo}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.\n */\nexport const useTeamsRemoveRepoInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsRemoveRepoInOrgError,\n      TeamsRemoveRepoInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsRemoveRepoInOrgError,\n    TeamsRemoveRepoInOrgVariables\n  >(\n    (variables: TeamsRemoveRepoInOrgVariables) =>\n      fetchTeamsRemoveRepoInOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsCheckPermissionsForRepoInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  owner: string;\n  repo: string;\n};\n\nexport type TeamsCheckPermissionsForRepoInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsCheckPermissionsForRepoInOrgVariables = {\n  pathParams: TeamsCheckPermissionsForRepoInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked.\n *\n * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header.\n *\n * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.\n */\nexport const fetchTeamsCheckPermissionsForRepoInOrg = (\n  variables: TeamsCheckPermissionsForRepoInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsCheckPermissionsForRepoInOrgError,\n    undefined,\n    {},\n    {},\n    TeamsCheckPermissionsForRepoInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/repos/{owner}/{repo}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked.\n *\n * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header.\n *\n * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.\n */\nexport const useTeamsCheckPermissionsForRepoInOrg = <TData = undefined>(\n  variables: TeamsCheckPermissionsForRepoInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      TeamsCheckPermissionsForRepoInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    TeamsCheckPermissionsForRepoInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}',\n      operationId: 'teamsCheckPermissionsForRepoInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsCheckPermissionsForRepoInOrg(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsAddOrUpdateRepoPermissionsInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n  owner: string;\n  repo: string;\n};\n\nexport type TeamsAddOrUpdateRepoPermissionsInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsAddOrUpdateRepoPermissionsInOrgRequestBody = {\n  /**\n   * The permission to grant the team on this repository. Can be one of:\n   * \\* `pull` - team members can pull, but not push to or administer this repository.\n   * \\* `push` - team members can pull and push, but not administer this repository.\n   * \\* `admin` - team members can pull, push and administer this repository.\n   * \\* `maintain` - team members can manage the repository without access to sensitive or destructive actions. Recommended for project managers. Only applies to repositories owned by organizations.\n   * \\* `triage` - team members can proactively manage issues and pull requests without write access. Recommended for contributors who triage a repository. Only applies to repositories owned by organizations.\n   *\n   * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository.\n   */\n  permission?: 'pull' | 'push' | 'admin' | 'maintain' | 'triage';\n};\n\nexport type TeamsAddOrUpdateRepoPermissionsInOrgVariables = {\n  body?: TeamsAddOrUpdateRepoPermissionsInOrgRequestBody;\n  pathParams: TeamsAddOrUpdateRepoPermissionsInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.\n *\n * For more information about the permission levels, see \"[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)\".\n */\nexport const fetchTeamsAddOrUpdateRepoPermissionsInOrg = (\n  variables: TeamsAddOrUpdateRepoPermissionsInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsAddOrUpdateRepoPermissionsInOrgError,\n    TeamsAddOrUpdateRepoPermissionsInOrgRequestBody,\n    {},\n    {},\n    TeamsAddOrUpdateRepoPermissionsInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/repos/{owner}/{repo}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.\n *\n * For more information about the permission levels, see \"[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)\".\n */\nexport const useTeamsAddOrUpdateRepoPermissionsInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsAddOrUpdateRepoPermissionsInOrgError,\n      TeamsAddOrUpdateRepoPermissionsInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsAddOrUpdateRepoPermissionsInOrgError,\n    TeamsAddOrUpdateRepoPermissionsInOrgVariables\n  >(\n    (variables: TeamsAddOrUpdateRepoPermissionsInOrgVariables) =>\n      fetchTeamsAddOrUpdateRepoPermissionsInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsListIdpGroupsInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n};\n\nexport type TeamsListIdpGroupsInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsListIdpGroupsInOrgVariables = {\n  pathParams: TeamsListIdpGroupsInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * List IdP groups connected to a team on GitHub.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`.\n */\nexport const fetchTeamsListIdpGroupsInOrg = (\n  variables: TeamsListIdpGroupsInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GroupMapping,\n    TeamsListIdpGroupsInOrgError,\n    undefined,\n    {},\n    {},\n    TeamsListIdpGroupsInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/team-sync/group-mappings',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * List IdP groups connected to a team on GitHub.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`.\n */\nexport const useTeamsListIdpGroupsInOrg = <TData = Schemas.GroupMapping>(\n  variables: TeamsListIdpGroupsInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.GroupMapping,\n      TeamsListIdpGroupsInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.GroupMapping,\n    TeamsListIdpGroupsInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/team-sync/group-mappings',\n      operationId: 'teamsListIdpGroupsInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListIdpGroupsInOrg({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsCreateOrUpdateIdpGroupConnectionsInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n};\n\nexport type TeamsCreateOrUpdateIdpGroupConnectionsInOrgError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsCreateOrUpdateIdpGroupConnectionsInOrgRequestBody = {\n  /**\n   * The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove.\n   */\n  groups: {\n    /**\n     * Description of the IdP group.\n     */\n    group_description: string;\n    /**\n     * ID of the IdP group.\n     */\n    group_id: string;\n    /**\n     * Name of the IdP group.\n     */\n    group_name: string;\n  }[];\n};\n\nexport type TeamsCreateOrUpdateIdpGroupConnectionsInOrgVariables = {\n  body: TeamsCreateOrUpdateIdpGroupConnectionsInOrgRequestBody;\n  pathParams: TeamsCreateOrUpdateIdpGroupConnectionsInOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`.\n */\nexport const fetchTeamsCreateOrUpdateIdpGroupConnectionsInOrg = (\n  variables: TeamsCreateOrUpdateIdpGroupConnectionsInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GroupMapping,\n    TeamsCreateOrUpdateIdpGroupConnectionsInOrgError,\n    TeamsCreateOrUpdateIdpGroupConnectionsInOrgRequestBody,\n    {},\n    {},\n    TeamsCreateOrUpdateIdpGroupConnectionsInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/team-sync/group-mappings',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`.\n */\nexport const useTeamsCreateOrUpdateIdpGroupConnectionsInOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.GroupMapping,\n      TeamsCreateOrUpdateIdpGroupConnectionsInOrgError,\n      TeamsCreateOrUpdateIdpGroupConnectionsInOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.GroupMapping,\n    TeamsCreateOrUpdateIdpGroupConnectionsInOrgError,\n    TeamsCreateOrUpdateIdpGroupConnectionsInOrgVariables\n  >(\n    (variables: TeamsCreateOrUpdateIdpGroupConnectionsInOrgVariables) =>\n      fetchTeamsCreateOrUpdateIdpGroupConnectionsInOrg({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsListChildInOrgPathParams = {\n  org: string;\n  /**\n   * team_slug parameter\n   */\n  teamSlug: string;\n};\n\nexport type TeamsListChildInOrgQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListChildInOrgError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsListChildInOrgResponse = Schemas.Team[];\n\nexport type TeamsListChildInOrgVariables = {\n  pathParams: TeamsListChildInOrgPathParams;\n  queryParams?: TeamsListChildInOrgQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the child teams of the team specified by `{team_slug}`.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`.\n */\nexport const fetchTeamsListChildInOrg = (\n  variables: TeamsListChildInOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListChildInOrgResponse,\n    TeamsListChildInOrgError,\n    undefined,\n    {},\n    TeamsListChildInOrgQueryParams,\n    TeamsListChildInOrgPathParams\n  >({\n    url: '/orgs/{org}/teams/{teamSlug}/teams',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the child teams of the team specified by `{team_slug}`.\n *\n * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`.\n */\nexport const useTeamsListChildInOrg = <TData = TeamsListChildInOrgResponse>(\n  variables: TeamsListChildInOrgVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListChildInOrgResponse,\n      TeamsListChildInOrgError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListChildInOrgResponse,\n    TeamsListChildInOrgError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/orgs/{org}/teams/{team_slug}/teams',\n      operationId: 'teamsListChildInOrg',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListChildInOrg({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ProjectsDeleteCardPathParams = {\n  /**\n   * card_id parameter\n   */\n  cardId: number;\n};\n\nexport type ProjectsDeleteCardError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: {\n        documentation_url?: string;\n        errors?: string[];\n        message?: string;\n      };\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type ProjectsDeleteCardVariables = {\n  pathParams: ProjectsDeleteCardPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsDeleteCard = (\n  variables: ProjectsDeleteCardVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ProjectsDeleteCardError,\n    undefined,\n    {},\n    {},\n    ProjectsDeleteCardPathParams\n  >({\n    url: '/projects/columns/cards/{cardId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useProjectsDeleteCard = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ProjectsDeleteCardError,\n      ProjectsDeleteCardVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ProjectsDeleteCardError,\n    ProjectsDeleteCardVariables\n  >(\n    (variables: ProjectsDeleteCardVariables) =>\n      fetchProjectsDeleteCard({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ProjectsGetCardPathParams = {\n  /**\n   * card_id parameter\n   */\n  cardId: number;\n};\n\nexport type ProjectsGetCardError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type ProjectsGetCardVariables = {\n  pathParams: ProjectsGetCardPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsGetCard = (\n  variables: ProjectsGetCardVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ProjectCard,\n    ProjectsGetCardError,\n    undefined,\n    {},\n    {},\n    ProjectsGetCardPathParams\n  >({\n    url: '/projects/columns/cards/{cardId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useProjectsGetCard = <TData = Schemas.ProjectCard>(\n  variables: ProjectsGetCardVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ProjectCard,\n      ProjectsGetCardError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.ProjectCard, ProjectsGetCardError, TData>(\n    queryKeyFn({\n      path: '/projects/columns/cards/{card_id}',\n      operationId: 'projectsGetCard',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchProjectsGetCard({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ProjectsUpdateCardPathParams = {\n  /**\n   * card_id parameter\n   */\n  cardId: number;\n};\n\nexport type ProjectsUpdateCardError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type ProjectsUpdateCardRequestBody = {\n  /**\n   * Whether or not the card is archived\n   *\n   * @example false\n   */\n  archived?: boolean;\n  /**\n   * The project card's note\n   *\n   * @example Update all gems\n   */\n  note?: string | null;\n};\n\nexport type ProjectsUpdateCardVariables = {\n  body?: ProjectsUpdateCardRequestBody;\n  pathParams: ProjectsUpdateCardPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsUpdateCard = (\n  variables: ProjectsUpdateCardVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ProjectCard,\n    ProjectsUpdateCardError,\n    ProjectsUpdateCardRequestBody,\n    {},\n    {},\n    ProjectsUpdateCardPathParams\n  >({\n    url: '/projects/columns/cards/{cardId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\nexport const useProjectsUpdateCard = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ProjectCard,\n      ProjectsUpdateCardError,\n      ProjectsUpdateCardVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ProjectCard,\n    ProjectsUpdateCardError,\n    ProjectsUpdateCardVariables\n  >(\n    (variables: ProjectsUpdateCardVariables) =>\n      fetchProjectsUpdateCard({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ProjectsMoveCardPathParams = {\n  /**\n   * card_id parameter\n   */\n  cardId: number;\n};\n\nexport type ProjectsMoveCardError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: {\n        documentation_url?: string;\n        errors?: {\n          code?: string;\n          field?: string;\n          message?: string;\n          resource?: string;\n        }[];\n        message?: string;\n      };\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n  | {\n      status: 503;\n      payload: {\n        code?: string;\n        documentation_url?: string;\n        errors?: {\n          code?: string;\n          message?: string;\n        }[];\n        message?: string;\n      };\n    }\n>;\n\nexport type ProjectsMoveCardRequestBody = {\n  /**\n   * The unique identifier of the column the card should be moved to\n   *\n   * @example 42\n   */\n  column_id?: number;\n  /**\n   * The position of the card in a column\n   *\n   * @example bottom\n   * @pattern ^(?:top|bottom|after:\\d+)$\n   */\n  position: string;\n};\n\nexport type ProjectsMoveCardVariables = {\n  body: ProjectsMoveCardRequestBody;\n  pathParams: ProjectsMoveCardPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsMoveCard = (\n  variables: ProjectsMoveCardVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    {},\n    ProjectsMoveCardError,\n    ProjectsMoveCardRequestBody,\n    {},\n    {},\n    ProjectsMoveCardPathParams\n  >({\n    url: '/projects/columns/cards/{cardId}/moves',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\nexport const useProjectsMoveCard = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      {},\n      ProjectsMoveCardError,\n      ProjectsMoveCardVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    {},\n    ProjectsMoveCardError,\n    ProjectsMoveCardVariables\n  >(\n    (variables: ProjectsMoveCardVariables) =>\n      fetchProjectsMoveCard({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ProjectsDeleteColumnPathParams = {\n  /**\n   * column_id parameter\n   */\n  columnId: number;\n};\n\nexport type ProjectsDeleteColumnError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type ProjectsDeleteColumnVariables = {\n  pathParams: ProjectsDeleteColumnPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsDeleteColumn = (\n  variables: ProjectsDeleteColumnVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ProjectsDeleteColumnError,\n    undefined,\n    {},\n    {},\n    ProjectsDeleteColumnPathParams\n  >({\n    url: '/projects/columns/{columnId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useProjectsDeleteColumn = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ProjectsDeleteColumnError,\n      ProjectsDeleteColumnVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ProjectsDeleteColumnError,\n    ProjectsDeleteColumnVariables\n  >(\n    (variables: ProjectsDeleteColumnVariables) =>\n      fetchProjectsDeleteColumn({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ProjectsGetColumnPathParams = {\n  /**\n   * column_id parameter\n   */\n  columnId: number;\n};\n\nexport type ProjectsGetColumnError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type ProjectsGetColumnVariables = {\n  pathParams: ProjectsGetColumnPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsGetColumn = (\n  variables: ProjectsGetColumnVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ProjectColumn,\n    ProjectsGetColumnError,\n    undefined,\n    {},\n    {},\n    ProjectsGetColumnPathParams\n  >({\n    url: '/projects/columns/{columnId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useProjectsGetColumn = <TData = Schemas.ProjectColumn>(\n  variables: ProjectsGetColumnVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ProjectColumn,\n      ProjectsGetColumnError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ProjectColumn,\n    ProjectsGetColumnError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/projects/columns/{column_id}',\n      operationId: 'projectsGetColumn',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchProjectsGetColumn({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ProjectsUpdateColumnPathParams = {\n  /**\n   * column_id parameter\n   */\n  columnId: number;\n};\n\nexport type ProjectsUpdateColumnError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type ProjectsUpdateColumnRequestBody = {\n  /**\n   * Name of the project column\n   *\n   * @example Remaining tasks\n   */\n  name: string;\n};\n\nexport type ProjectsUpdateColumnVariables = {\n  body: ProjectsUpdateColumnRequestBody;\n  pathParams: ProjectsUpdateColumnPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsUpdateColumn = (\n  variables: ProjectsUpdateColumnVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ProjectColumn,\n    ProjectsUpdateColumnError,\n    ProjectsUpdateColumnRequestBody,\n    {},\n    {},\n    ProjectsUpdateColumnPathParams\n  >({\n    url: '/projects/columns/{columnId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\nexport const useProjectsUpdateColumn = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ProjectColumn,\n      ProjectsUpdateColumnError,\n      ProjectsUpdateColumnVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ProjectColumn,\n    ProjectsUpdateColumnError,\n    ProjectsUpdateColumnVariables\n  >(\n    (variables: ProjectsUpdateColumnVariables) =>\n      fetchProjectsUpdateColumn({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ProjectsListCardsPathParams = {\n  /**\n   * column_id parameter\n   */\n  columnId: number;\n};\n\nexport type ProjectsListCardsQueryParams = {\n  /**\n   * Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`.\n   *\n   * @default not_archived\n   */\n  archived_state?: 'all' | 'archived' | 'not_archived';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ProjectsListCardsError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type ProjectsListCardsResponse = Schemas.ProjectCard[];\n\nexport type ProjectsListCardsVariables = {\n  pathParams: ProjectsListCardsPathParams;\n  queryParams?: ProjectsListCardsQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsListCards = (\n  variables: ProjectsListCardsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ProjectsListCardsResponse,\n    ProjectsListCardsError,\n    undefined,\n    {},\n    ProjectsListCardsQueryParams,\n    ProjectsListCardsPathParams\n  >({\n    url: '/projects/columns/{columnId}/cards',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useProjectsListCards = <TData = ProjectsListCardsResponse>(\n  variables: ProjectsListCardsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ProjectsListCardsResponse,\n      ProjectsListCardsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ProjectsListCardsResponse,\n    ProjectsListCardsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/projects/columns/{column_id}/cards',\n      operationId: 'projectsListCards',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchProjectsListCards({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ProjectsCreateCardPathParams = {\n  /**\n   * column_id parameter\n   */\n  columnId: number;\n};\n\nexport type ProjectsCreateCardError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Schemas.ValidationError | Schemas.ValidationErrorSimple;\n    }\n  | {\n      status: 503;\n      payload: {\n        code?: string;\n        documentation_url?: string;\n        errors?: {\n          code?: string;\n          message?: string;\n        }[];\n        message?: string;\n      };\n    }\n>;\n\nexport type ProjectsCreateCardVariables = {\n  body?:\n    | {\n        /**\n         * The project card's note\n         *\n         * @example Update all gems\n         */\n        note: string | null;\n      }\n    | {\n        /**\n         * The unique identifier of the content associated with the card\n         *\n         * @example 42\n         */\n        content_id: number;\n        /**\n         * The piece of content associated with the card\n         *\n         * @example PullRequest\n         */\n        content_type: string;\n      };\n  pathParams: ProjectsCreateCardPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key.\n *\n * Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.\n */\nexport const fetchProjectsCreateCard = (\n  variables: ProjectsCreateCardVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ProjectCard,\n    ProjectsCreateCardError,\n    | {\n        /**\n         * The project card's note\n         *\n         * @example Update all gems\n         */\n        note: string | null;\n      }\n    | {\n        /**\n         * The unique identifier of the content associated with the card\n         *\n         * @example 42\n         */\n        content_id: number;\n        /**\n         * The piece of content associated with the card\n         *\n         * @example PullRequest\n         */\n        content_type: string;\n      },\n    {},\n    {},\n    ProjectsCreateCardPathParams\n  >({\n    url: '/projects/columns/{columnId}/cards',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key.\n *\n * Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.\n */\nexport const useProjectsCreateCard = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ProjectCard,\n      ProjectsCreateCardError,\n      ProjectsCreateCardVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ProjectCard,\n    ProjectsCreateCardError,\n    ProjectsCreateCardVariables\n  >(\n    (variables: ProjectsCreateCardVariables) =>\n      fetchProjectsCreateCard({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ProjectsMoveColumnPathParams = {\n  /**\n   * column_id parameter\n   */\n  columnId: number;\n};\n\nexport type ProjectsMoveColumnError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type ProjectsMoveColumnRequestBody = {\n  /**\n   * The position of the column in a project\n   *\n   * @example last\n   * @pattern ^(?:first|last|after:\\d+)$\n   */\n  position: string;\n};\n\nexport type ProjectsMoveColumnVariables = {\n  body: ProjectsMoveColumnRequestBody;\n  pathParams: ProjectsMoveColumnPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsMoveColumn = (\n  variables: ProjectsMoveColumnVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    {},\n    ProjectsMoveColumnError,\n    ProjectsMoveColumnRequestBody,\n    {},\n    {},\n    ProjectsMoveColumnPathParams\n  >({\n    url: '/projects/columns/{columnId}/moves',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\nexport const useProjectsMoveColumn = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      {},\n      ProjectsMoveColumnError,\n      ProjectsMoveColumnVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    {},\n    ProjectsMoveColumnError,\n    ProjectsMoveColumnVariables\n  >(\n    (variables: ProjectsMoveColumnVariables) =>\n      fetchProjectsMoveColumn({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ProjectsDeletePathParams = {\n  projectId: number;\n};\n\nexport type ProjectsDeleteError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: {\n        documentation_url?: string;\n        errors?: string[];\n        message?: string;\n      };\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n>;\n\nexport type ProjectsDeleteVariables = {\n  pathParams: ProjectsDeletePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a project board. Returns a `404 Not Found` status if projects are disabled.\n */\nexport const fetchProjectsDelete = (\n  variables: ProjectsDeleteVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ProjectsDeleteError,\n    undefined,\n    {},\n    {},\n    ProjectsDeletePathParams\n  >({ url: '/projects/{projectId}', method: 'delete', ...variables, signal });\n\n/**\n * Deletes a project board. Returns a `404 Not Found` status if projects are disabled.\n */\nexport const useProjectsDelete = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ProjectsDeleteError,\n      ProjectsDeleteVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ProjectsDeleteError,\n    ProjectsDeleteVariables\n  >(\n    (variables: ProjectsDeleteVariables) =>\n      fetchProjectsDelete({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ProjectsGetPathParams = {\n  projectId: number;\n};\n\nexport type ProjectsGetError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type ProjectsGetVariables = {\n  pathParams: ProjectsGetPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.\n */\nexport const fetchProjectsGet = (\n  variables: ProjectsGetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Project,\n    ProjectsGetError,\n    undefined,\n    {},\n    {},\n    ProjectsGetPathParams\n  >({ url: '/projects/{projectId}', method: 'get', ...variables, signal });\n\n/**\n * Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.\n */\nexport const useProjectsGet = <TData = Schemas.Project>(\n  variables: ProjectsGetVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.Project, ProjectsGetError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Project, ProjectsGetError, TData>(\n    queryKeyFn({\n      path: '/projects/{project_id}',\n      operationId: 'projectsGet',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchProjectsGet({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ProjectsUpdatePathParams = {\n  projectId: number;\n};\n\nexport type ProjectsUpdateError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: {\n        documentation_url?: string;\n        errors?: string[];\n        message?: string;\n      };\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type ProjectsUpdateRequestBody = {\n  /**\n   * Body of the project\n   *\n   * @example This project represents the sprint of the first week in January\n   */\n  body?: string | null;\n  /**\n   * Name of the project\n   *\n   * @example Week One Sprint\n   */\n  name?: string;\n  /**\n   * The baseline permission that all organization members have on this project\n   */\n  organization_permission?: 'read' | 'write' | 'admin' | 'none';\n  /**\n   * Whether or not this project can be seen by everyone.\n   */\n  private?: boolean;\n  /**\n   * State of the project; either 'open' or 'closed'\n   *\n   * @example open\n   */\n  state?: string;\n};\n\nexport type ProjectsUpdateVariables = {\n  body?: ProjectsUpdateRequestBody;\n  pathParams: ProjectsUpdatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.\n */\nexport const fetchProjectsUpdate = (\n  variables: ProjectsUpdateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Project,\n    ProjectsUpdateError,\n    ProjectsUpdateRequestBody,\n    {},\n    {},\n    ProjectsUpdatePathParams\n  >({ url: '/projects/{projectId}', method: 'patch', ...variables, signal });\n\n/**\n * Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.\n */\nexport const useProjectsUpdate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Project,\n      ProjectsUpdateError,\n      ProjectsUpdateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Project,\n    ProjectsUpdateError,\n    ProjectsUpdateVariables\n  >(\n    (variables: ProjectsUpdateVariables) =>\n      fetchProjectsUpdate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ProjectsListCollaboratorsPathParams = {\n  projectId: number;\n};\n\nexport type ProjectsListCollaboratorsQueryParams = {\n  /**\n   * Filters the collaborators by their affiliation. Can be one of:\n   * \\* `outside`: Outside collaborators of a project that are not a member of the project's organization.\n   * \\* `direct`: Collaborators with permissions to a project, regardless of organization membership status.\n   * \\* `all`: All collaborators the authenticated user can see.\n   *\n   * @default all\n   */\n  affiliation?: 'outside' | 'direct' | 'all';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ProjectsListCollaboratorsError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ProjectsListCollaboratorsResponse = Schemas.SimpleUser[];\n\nexport type ProjectsListCollaboratorsVariables = {\n  pathParams: ProjectsListCollaboratorsPathParams;\n  queryParams?: ProjectsListCollaboratorsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators.\n */\nexport const fetchProjectsListCollaborators = (\n  variables: ProjectsListCollaboratorsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ProjectsListCollaboratorsResponse,\n    ProjectsListCollaboratorsError,\n    undefined,\n    {},\n    ProjectsListCollaboratorsQueryParams,\n    ProjectsListCollaboratorsPathParams\n  >({\n    url: '/projects/{projectId}/collaborators',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators.\n */\nexport const useProjectsListCollaborators = <\n  TData = ProjectsListCollaboratorsResponse,\n>(\n  variables: ProjectsListCollaboratorsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ProjectsListCollaboratorsResponse,\n      ProjectsListCollaboratorsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ProjectsListCollaboratorsResponse,\n    ProjectsListCollaboratorsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/projects/{project_id}/collaborators',\n      operationId: 'projectsListCollaborators',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchProjectsListCollaborators(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ProjectsRemoveCollaboratorPathParams = {\n  projectId: number;\n  username: string;\n};\n\nexport type ProjectsRemoveCollaboratorError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ProjectsRemoveCollaboratorVariables = {\n  pathParams: ProjectsRemoveCollaboratorPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator.\n */\nexport const fetchProjectsRemoveCollaborator = (\n  variables: ProjectsRemoveCollaboratorVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ProjectsRemoveCollaboratorError,\n    undefined,\n    {},\n    {},\n    ProjectsRemoveCollaboratorPathParams\n  >({\n    url: '/projects/{projectId}/collaborators/{username}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator.\n */\nexport const useProjectsRemoveCollaborator = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ProjectsRemoveCollaboratorError,\n      ProjectsRemoveCollaboratorVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ProjectsRemoveCollaboratorError,\n    ProjectsRemoveCollaboratorVariables\n  >(\n    (variables: ProjectsRemoveCollaboratorVariables) =>\n      fetchProjectsRemoveCollaborator({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ProjectsAddCollaboratorPathParams = {\n  projectId: number;\n  username: string;\n};\n\nexport type ProjectsAddCollaboratorError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ProjectsAddCollaboratorRequestBody = {\n  /**\n   * The permission to grant the collaborator.\n   *\n   * @default write\n   * @example write\n   */\n  permission?: 'read' | 'write' | 'admin';\n};\n\nexport type ProjectsAddCollaboratorVariables = {\n  body?: ProjectsAddCollaboratorRequestBody;\n  pathParams: ProjectsAddCollaboratorPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator.\n */\nexport const fetchProjectsAddCollaborator = (\n  variables: ProjectsAddCollaboratorVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ProjectsAddCollaboratorError,\n    ProjectsAddCollaboratorRequestBody,\n    {},\n    {},\n    ProjectsAddCollaboratorPathParams\n  >({\n    url: '/projects/{projectId}/collaborators/{username}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator.\n */\nexport const useProjectsAddCollaborator = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ProjectsAddCollaboratorError,\n      ProjectsAddCollaboratorVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ProjectsAddCollaboratorError,\n    ProjectsAddCollaboratorVariables\n  >(\n    (variables: ProjectsAddCollaboratorVariables) =>\n      fetchProjectsAddCollaborator({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ProjectsGetPermissionForUserPathParams = {\n  projectId: number;\n  username: string;\n};\n\nexport type ProjectsGetPermissionForUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ProjectsGetPermissionForUserVariables = {\n  pathParams: ProjectsGetPermissionForUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level.\n */\nexport const fetchProjectsGetPermissionForUser = (\n  variables: ProjectsGetPermissionForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RepositoryCollaboratorPermission,\n    ProjectsGetPermissionForUserError,\n    undefined,\n    {},\n    {},\n    ProjectsGetPermissionForUserPathParams\n  >({\n    url: '/projects/{projectId}/collaborators/{username}/permission',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level.\n */\nexport const useProjectsGetPermissionForUser = <\n  TData = Schemas.RepositoryCollaboratorPermission,\n>(\n  variables: ProjectsGetPermissionForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.RepositoryCollaboratorPermission,\n      ProjectsGetPermissionForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.RepositoryCollaboratorPermission,\n    ProjectsGetPermissionForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/projects/{project_id}/collaborators/{username}/permission',\n      operationId: 'projectsGetPermissionForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchProjectsGetPermissionForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ProjectsListColumnsPathParams = {\n  projectId: number;\n};\n\nexport type ProjectsListColumnsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ProjectsListColumnsError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type ProjectsListColumnsResponse = Schemas.ProjectColumn[];\n\nexport type ProjectsListColumnsVariables = {\n  pathParams: ProjectsListColumnsPathParams;\n  queryParams?: ProjectsListColumnsQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsListColumns = (\n  variables: ProjectsListColumnsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ProjectsListColumnsResponse,\n    ProjectsListColumnsError,\n    undefined,\n    {},\n    ProjectsListColumnsQueryParams,\n    ProjectsListColumnsPathParams\n  >({\n    url: '/projects/{projectId}/columns',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useProjectsListColumns = <TData = ProjectsListColumnsResponse>(\n  variables: ProjectsListColumnsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ProjectsListColumnsResponse,\n      ProjectsListColumnsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ProjectsListColumnsResponse,\n    ProjectsListColumnsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/projects/{project_id}/columns',\n      operationId: 'projectsListColumns',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchProjectsListColumns({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ProjectsCreateColumnPathParams = {\n  projectId: number;\n};\n\nexport type ProjectsCreateColumnError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type ProjectsCreateColumnRequestBody = {\n  /**\n   * Name of the project column\n   *\n   * @example Remaining tasks\n   */\n  name: string;\n};\n\nexport type ProjectsCreateColumnVariables = {\n  body: ProjectsCreateColumnRequestBody;\n  pathParams: ProjectsCreateColumnPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsCreateColumn = (\n  variables: ProjectsCreateColumnVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ProjectColumn,\n    ProjectsCreateColumnError,\n    ProjectsCreateColumnRequestBody,\n    {},\n    {},\n    ProjectsCreateColumnPathParams\n  >({\n    url: '/projects/{projectId}/columns',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\nexport const useProjectsCreateColumn = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ProjectColumn,\n      ProjectsCreateColumnError,\n      ProjectsCreateColumnVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ProjectColumn,\n    ProjectsCreateColumnError,\n    ProjectsCreateColumnVariables\n  >(\n    (variables: ProjectsCreateColumnVariables) =>\n      fetchProjectsCreateColumn({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type RateLimitGetError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type RateLimitGetVariables = GithubContext['fetcherOptions'];\n\n/**\n * **Note:** Accessing this endpoint does not count against your REST API rate limit.\n *\n * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object.\n */\nexport const fetchRateLimitGet = (\n  variables: RateLimitGetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RateLimitOverview,\n    RateLimitGetError,\n    undefined,\n    {},\n    {},\n    {}\n  >({ url: '/rate_limit', method: 'get', ...variables, signal });\n\n/**\n * **Note:** Accessing this endpoint does not count against your REST API rate limit.\n *\n * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object.\n */\nexport const useRateLimitGet = <TData = Schemas.RateLimitOverview>(\n  variables: RateLimitGetVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.RateLimitOverview,\n      RateLimitGetError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.RateLimitOverview,\n    RateLimitGetError,\n    TData\n  >(\n    queryKeyFn({ path: '/rate_limit', operationId: 'rateLimitGet', variables }),\n    ({ signal }) =>\n      fetchRateLimitGet({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReactionsDeleteLegacyPathParams = {\n  reactionId: number;\n};\n\nexport type ReactionsDeleteLegacyError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type ReactionsDeleteLegacyVariables = {\n  pathParams: ReactionsDeleteLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Reactions API. We recommend migrating your existing code to use the new delete reactions endpoints. For more information, see this [blog post](https://developer.github.com/changes/2020-02-26-new-delete-reactions-endpoints/).\n *\n * OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://docs.github.com/rest/reference/teams#discussions) or [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments).\n */\nexport const fetchReactionsDeleteLegacy = (\n  variables: ReactionsDeleteLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReactionsDeleteLegacyError,\n    undefined,\n    {},\n    {},\n    ReactionsDeleteLegacyPathParams\n  >({ url: '/reactions/{reactionId}', method: 'delete', ...variables, signal });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Reactions API. We recommend migrating your existing code to use the new delete reactions endpoints. For more information, see this [blog post](https://developer.github.com/changes/2020-02-26-new-delete-reactions-endpoints/).\n *\n * OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), when deleting a [team discussion](https://docs.github.com/rest/reference/teams#discussions) or [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments).\n */\nexport const useReactionsDeleteLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReactionsDeleteLegacyError,\n      ReactionsDeleteLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReactionsDeleteLegacyError,\n    ReactionsDeleteLegacyVariables\n  >(\n    (variables: ReactionsDeleteLegacyVariables) =>\n      fetchReactionsDeleteLegacy({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposDeletePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposDeleteError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: {\n        documentation_url?: string;\n        message?: string;\n      };\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type ReposDeleteVariables = {\n  pathParams: ReposDeletePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required.\n *\n * If an organization owner has configured the organization to prevent members from deleting organization-owned\n * repositories, you will get a `403 Forbidden` response.\n */\nexport const fetchReposDelete = (\n  variables: ReposDeleteVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteError,\n    undefined,\n    {},\n    {},\n    ReposDeletePathParams\n  >({ url: '/repos/{owner}/{repo}', method: 'delete', ...variables, signal });\n\n/**\n * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required.\n *\n * If an organization owner has configured the organization to prevent members from deleting organization-owned\n * repositories, you will get a `403 Forbidden` response.\n */\nexport const useReposDelete = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteError,\n      ReposDeleteVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteError,\n    ReposDeleteVariables\n  >(\n    (variables: ReposDeleteVariables) =>\n      fetchReposDelete({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetError = Fetcher.ErrorWrapper<\n  | {\n      status: 301;\n      payload: Responses.MovedPermanently;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type ReposGetVariables = {\n  pathParams: ReposGetPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * When you pass the `scarlet-witch-preview` media type, requests to get a repository will also return the repository's code of conduct if it can be detected from the repository's code of conduct file.\n *\n * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network.\n */\nexport const fetchReposGet = (\n  variables: ReposGetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.FullRepository,\n    ReposGetError,\n    undefined,\n    {},\n    {},\n    ReposGetPathParams\n  >({ url: '/repos/{owner}/{repo}', method: 'get', ...variables, signal });\n\n/**\n * When you pass the `scarlet-witch-preview` media type, requests to get a repository will also return the repository's code of conduct if it can be detected from the repository's code of conduct file.\n *\n * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network.\n */\nexport const useReposGet = <TData = Schemas.FullRepository>(\n  variables: ReposGetVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.FullRepository, ReposGetError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.FullRepository, ReposGetError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}',\n      operationId: 'reposGet',\n      variables,\n    }),\n    ({ signal }) => fetchReposGet({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposUpdatePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposUpdateError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposUpdateRequestBody = {\n  /**\n   * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.\n   *\n   * @default true\n   */\n  allow_merge_commit?: boolean;\n  /**\n   * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.\n   *\n   * @default true\n   */\n  allow_rebase_merge?: boolean;\n  /**\n   * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.\n   *\n   * @default true\n   */\n  allow_squash_merge?: boolean;\n  /**\n   * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API.\n   *\n   * @default false\n   */\n  archived?: boolean;\n  /**\n   * Updates the default branch for this repository.\n   */\n  default_branch?: string;\n  /**\n   * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion.\n   *\n   * @default false\n   */\n  delete_branch_on_merge?: boolean;\n  /**\n   * A short description of the repository.\n   */\n  description?: string;\n  /**\n   * Either `true` to enable issues for this repository or `false` to disable them.\n   *\n   * @default true\n   */\n  has_issues?: boolean;\n  /**\n   * Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error.\n   *\n   * @default true\n   */\n  has_projects?: boolean;\n  /**\n   * Either `true` to enable the wiki for this repository or `false` to disable it.\n   *\n   * @default true\n   */\n  has_wiki?: boolean;\n  /**\n   * A URL with more information about the repository.\n   */\n  homepage?: string;\n  /**\n   * Either `true` to make this repo available as a template repository or `false` to prevent it.\n   *\n   * @default false\n   */\n  is_template?: boolean;\n  /**\n   * The name of the repository.\n   */\n  name?: string;\n  /**\n   * Either `true` to make the repository private or `false` to make it public. Default: `false`.\n   * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://help.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private.\n   *\n   * @default false\n   */\n  private?: boolean;\n  /**\n   * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header.\n   */\n  visibility?: 'public' | 'private' | 'visibility' | 'internal';\n};\n\nexport type ReposUpdateVariables = {\n  body?: ReposUpdateRequestBody;\n  pathParams: ReposUpdatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint.\n */\nexport const fetchReposUpdate = (\n  variables: ReposUpdateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.FullRepository,\n    ReposUpdateError,\n    ReposUpdateRequestBody,\n    {},\n    {},\n    ReposUpdatePathParams\n  >({ url: '/repos/{owner}/{repo}', method: 'patch', ...variables, signal });\n\n/**\n * **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint.\n */\nexport const useReposUpdate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.FullRepository,\n      ReposUpdateError,\n      ReposUpdateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.FullRepository,\n    ReposUpdateError,\n    ReposUpdateVariables\n  >(\n    (variables: ReposUpdateVariables) =>\n      fetchReposUpdate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsListArtifactsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsListArtifactsForRepoQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListArtifactsForRepoError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListArtifactsForRepoResponse = {\n  artifacts: Schemas.Artifact[];\n  total_count: number;\n};\n\nexport type ActionsListArtifactsForRepoVariables = {\n  pathParams: ActionsListArtifactsForRepoPathParams;\n  queryParams?: ActionsListArtifactsForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsListArtifactsForRepo = (\n  variables: ActionsListArtifactsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListArtifactsForRepoResponse,\n    ActionsListArtifactsForRepoError,\n    undefined,\n    {},\n    ActionsListArtifactsForRepoQueryParams,\n    ActionsListArtifactsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/artifacts',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsListArtifactsForRepo = <\n  TData = ActionsListArtifactsForRepoResponse,\n>(\n  variables: ActionsListArtifactsForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListArtifactsForRepoResponse,\n      ActionsListArtifactsForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListArtifactsForRepoResponse,\n    ActionsListArtifactsForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/artifacts',\n      operationId: 'actionsListArtifactsForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListArtifactsForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsDeleteArtifactPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * artifact_id parameter\n   */\n  artifactId: number;\n};\n\nexport type ActionsDeleteArtifactError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDeleteArtifactVariables = {\n  pathParams: ActionsDeleteArtifactPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.\n */\nexport const fetchActionsDeleteArtifact = (\n  variables: ActionsDeleteArtifactVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDeleteArtifactError,\n    undefined,\n    {},\n    {},\n    ActionsDeleteArtifactPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/artifacts/{artifactId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.\n */\nexport const useActionsDeleteArtifact = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsDeleteArtifactError,\n      ActionsDeleteArtifactVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsDeleteArtifactError,\n    ActionsDeleteArtifactVariables\n  >(\n    (variables: ActionsDeleteArtifactVariables) =>\n      fetchActionsDeleteArtifact({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsGetArtifactPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * artifact_id parameter\n   */\n  artifactId: number;\n};\n\nexport type ActionsGetArtifactError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetArtifactVariables = {\n  pathParams: ActionsGetArtifactPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsGetArtifact = (\n  variables: ActionsGetArtifactVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Artifact,\n    ActionsGetArtifactError,\n    undefined,\n    {},\n    {},\n    ActionsGetArtifactPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/artifacts/{artifactId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsGetArtifact = <TData = Schemas.Artifact>(\n  variables: ActionsGetArtifactVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Artifact,\n      ActionsGetArtifactError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Artifact, ActionsGetArtifactError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/artifacts/{artifact_id}',\n      operationId: 'actionsGetArtifact',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetArtifact({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsDownloadArtifactPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * artifact_id parameter\n   */\n  artifactId: number;\n  archiveFormat: string;\n};\n\nexport type ActionsDownloadArtifactError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDownloadArtifactVariables = {\n  pathParams: ActionsDownloadArtifactPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in\n * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to\n * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.\n * GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsDownloadArtifact = (\n  variables: ActionsDownloadArtifactVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDownloadArtifactError,\n    undefined,\n    {},\n    {},\n    ActionsDownloadArtifactPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/artifacts/{artifactId}/{archiveFormat}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in\n * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to\n * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.\n * GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsDownloadArtifact = <TData = undefined>(\n  variables: ActionsDownloadArtifactVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<undefined, ActionsDownloadArtifactError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<undefined, ActionsDownloadArtifactError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}',\n      operationId: 'actionsDownloadArtifact',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsDownloadArtifact({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsGetJobForWorkflowRunPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * job_id parameter\n   */\n  jobId: number;\n};\n\nexport type ActionsGetJobForWorkflowRunError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetJobForWorkflowRunVariables = {\n  pathParams: ActionsGetJobForWorkflowRunPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsGetJobForWorkflowRun = (\n  variables: ActionsGetJobForWorkflowRunVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Job,\n    ActionsGetJobForWorkflowRunError,\n    undefined,\n    {},\n    {},\n    ActionsGetJobForWorkflowRunPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/jobs/{jobId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsGetJobForWorkflowRun = <TData = Schemas.Job>(\n  variables: ActionsGetJobForWorkflowRunVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Job,\n      ActionsGetJobForWorkflowRunError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Job,\n    ActionsGetJobForWorkflowRunError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/jobs/{job_id}',\n      operationId: 'actionsGetJobForWorkflowRun',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetJobForWorkflowRun(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsDownloadJobLogsForWorkflowRunPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * job_id parameter\n   */\n  jobId: number;\n};\n\nexport type ActionsDownloadJobLogsForWorkflowRunError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDownloadJobLogsForWorkflowRunVariables = {\n  pathParams: ActionsDownloadJobLogsForWorkflowRunPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look\n * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can\n * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must\n * have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsDownloadJobLogsForWorkflowRun = (\n  variables: ActionsDownloadJobLogsForWorkflowRunVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDownloadJobLogsForWorkflowRunError,\n    undefined,\n    {},\n    {},\n    ActionsDownloadJobLogsForWorkflowRunPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/jobs/{jobId}/logs',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look\n * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can\n * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must\n * have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsDownloadJobLogsForWorkflowRun = <TData = undefined>(\n  variables: ActionsDownloadJobLogsForWorkflowRunVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      ActionsDownloadJobLogsForWorkflowRunError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    ActionsDownloadJobLogsForWorkflowRunError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/jobs/{job_id}/logs',\n      operationId: 'actionsDownloadJobLogsForWorkflowRun',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsDownloadJobLogsForWorkflowRun(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsGetGithubActionsPermissionsRepositoryPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsGetGithubActionsPermissionsRepositoryError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetGithubActionsPermissionsRepositoryVariables = {\n  pathParams: ActionsGetGithubActionsPermissionsRepositoryPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository.\n *\n * You must authenticate using an access token with the `repo` scope to use this\n * endpoint. GitHub Apps must have the `administration` repository permission to use this API.\n */\nexport const fetchActionsGetGithubActionsPermissionsRepository = (\n  variables: ActionsGetGithubActionsPermissionsRepositoryVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ActionsRepositoryPermissions,\n    ActionsGetGithubActionsPermissionsRepositoryError,\n    undefined,\n    {},\n    {},\n    ActionsGetGithubActionsPermissionsRepositoryPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/permissions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository.\n *\n * You must authenticate using an access token with the `repo` scope to use this\n * endpoint. GitHub Apps must have the `administration` repository permission to use this API.\n */\nexport const useActionsGetGithubActionsPermissionsRepository = <\n  TData = Schemas.ActionsRepositoryPermissions,\n>(\n  variables: ActionsGetGithubActionsPermissionsRepositoryVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ActionsRepositoryPermissions,\n      ActionsGetGithubActionsPermissionsRepositoryError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ActionsRepositoryPermissions,\n    ActionsGetGithubActionsPermissionsRepositoryError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/permissions',\n      operationId: 'actionsGetGithubActionsPermissionsRepository',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetGithubActionsPermissionsRepository(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsSetGithubActionsPermissionsRepositoryPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsSetGithubActionsPermissionsRepositoryError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsSetGithubActionsPermissionsRepositoryRequestBody = {\n  allowed_actions?: Schemas.AllowedActions;\n  enabled: Schemas.ActionsEnabled;\n};\n\nexport type ActionsSetGithubActionsPermissionsRepositoryVariables = {\n  body: ActionsSetGithubActionsPermissionsRepositoryRequestBody;\n  pathParams: ActionsSetGithubActionsPermissionsRepositoryPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository.\n *\n * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions, then you cannot override them for the repository.\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.\n */\nexport const fetchActionsSetGithubActionsPermissionsRepository = (\n  variables: ActionsSetGithubActionsPermissionsRepositoryVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsSetGithubActionsPermissionsRepositoryError,\n    ActionsSetGithubActionsPermissionsRepositoryRequestBody,\n    {},\n    {},\n    ActionsSetGithubActionsPermissionsRepositoryPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/permissions',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions in the repository.\n *\n * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions, then you cannot override them for the repository.\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.\n */\nexport const useActionsSetGithubActionsPermissionsRepository = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsSetGithubActionsPermissionsRepositoryError,\n      ActionsSetGithubActionsPermissionsRepositoryVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsSetGithubActionsPermissionsRepositoryError,\n    ActionsSetGithubActionsPermissionsRepositoryVariables\n  >(\n    (variables: ActionsSetGithubActionsPermissionsRepositoryVariables) =>\n      fetchActionsSetGithubActionsPermissionsRepository({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsGetAllowedActionsRepositoryPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsGetAllowedActionsRepositoryError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetAllowedActionsRepositoryVariables = {\n  pathParams: ActionsGetAllowedActionsRepositoryPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.\n */\nexport const fetchActionsGetAllowedActionsRepository = (\n  variables: ActionsGetAllowedActionsRepositoryVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.SelectedActions,\n    ActionsGetAllowedActionsRepositoryError,\n    undefined,\n    {},\n    {},\n    ActionsGetAllowedActionsRepositoryPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/permissions/selected-actions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.\n */\nexport const useActionsGetAllowedActionsRepository = <\n  TData = Schemas.SelectedActions,\n>(\n  variables: ActionsGetAllowedActionsRepositoryVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.SelectedActions,\n      ActionsGetAllowedActionsRepositoryError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.SelectedActions,\n    ActionsGetAllowedActionsRepositoryError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/permissions/selected-actions',\n      operationId: 'actionsGetAllowedActionsRepository',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetAllowedActionsRepository(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsSetAllowedActionsRepositoryPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsSetAllowedActionsRepositoryError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsSetAllowedActionsRepositoryVariables = {\n  body: Schemas.SelectedActions;\n  pathParams: ActionsSetAllowedActionsRepositoryPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n *\n * If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings.\n *\n * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories.\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.\n */\nexport const fetchActionsSetAllowedActionsRepository = (\n  variables: ActionsSetAllowedActionsRepositoryVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsSetAllowedActionsRepositoryError,\n    Schemas.SelectedActions,\n    {},\n    {},\n    ActionsSetAllowedActionsRepositoryPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/permissions/selected-actions',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see \"[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository).\"\n *\n * If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings.\n *\n * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories.\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.\n */\nexport const useActionsSetAllowedActionsRepository = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsSetAllowedActionsRepositoryError,\n      ActionsSetAllowedActionsRepositoryVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsSetAllowedActionsRepositoryError,\n    ActionsSetAllowedActionsRepositoryVariables\n  >(\n    (variables: ActionsSetAllowedActionsRepositoryVariables) =>\n      fetchActionsSetAllowedActionsRepository({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsListSelfHostedRunnersForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsListSelfHostedRunnersForRepoQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListSelfHostedRunnersForRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListSelfHostedRunnersForRepoResponse = {\n  runners: Schemas.Runner[];\n  total_count: number;\n};\n\nexport type ActionsListSelfHostedRunnersForRepoVariables = {\n  pathParams: ActionsListSelfHostedRunnersForRepoPathParams;\n  queryParams?: ActionsListSelfHostedRunnersForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint.\n */\nexport const fetchActionsListSelfHostedRunnersForRepo = (\n  variables: ActionsListSelfHostedRunnersForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListSelfHostedRunnersForRepoResponse,\n    ActionsListSelfHostedRunnersForRepoError,\n    undefined,\n    {},\n    ActionsListSelfHostedRunnersForRepoQueryParams,\n    ActionsListSelfHostedRunnersForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runners',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint.\n */\nexport const useActionsListSelfHostedRunnersForRepo = <\n  TData = ActionsListSelfHostedRunnersForRepoResponse,\n>(\n  variables: ActionsListSelfHostedRunnersForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListSelfHostedRunnersForRepoResponse,\n      ActionsListSelfHostedRunnersForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListSelfHostedRunnersForRepoResponse,\n    ActionsListSelfHostedRunnersForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/runners',\n      operationId: 'actionsListSelfHostedRunnersForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListSelfHostedRunnersForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsListRunnerApplicationsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsListRunnerApplicationsForRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListRunnerApplicationsForRepoResponse =\n  Schemas.RunnerApplication[];\n\nexport type ActionsListRunnerApplicationsForRepoVariables = {\n  pathParams: ActionsListRunnerApplicationsForRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists binaries for the runner application that you can download and run.\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint.\n */\nexport const fetchActionsListRunnerApplicationsForRepo = (\n  variables: ActionsListRunnerApplicationsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListRunnerApplicationsForRepoResponse,\n    ActionsListRunnerApplicationsForRepoError,\n    undefined,\n    {},\n    {},\n    ActionsListRunnerApplicationsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runners/downloads',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists binaries for the runner application that you can download and run.\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint.\n */\nexport const useActionsListRunnerApplicationsForRepo = <\n  TData = ActionsListRunnerApplicationsForRepoResponse,\n>(\n  variables: ActionsListRunnerApplicationsForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListRunnerApplicationsForRepoResponse,\n      ActionsListRunnerApplicationsForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListRunnerApplicationsForRepoResponse,\n    ActionsListRunnerApplicationsForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/runners/downloads',\n      operationId: 'actionsListRunnerApplicationsForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListRunnerApplicationsForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsCreateRegistrationTokenForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsCreateRegistrationTokenForRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsCreateRegistrationTokenForRepoVariables = {\n  pathParams: ActionsCreateRegistrationTokenForRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate\n * using an access token with the `repo` scope to use this endpoint.\n *\n * #### Example using registration token\n *\n * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n *\n * ```\n * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n * ```\n */\nexport const fetchActionsCreateRegistrationTokenForRepo = (\n  variables: ActionsCreateRegistrationTokenForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.AuthenticationToken,\n    ActionsCreateRegistrationTokenForRepoError,\n    undefined,\n    {},\n    {},\n    ActionsCreateRegistrationTokenForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runners/registration-token',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate\n * using an access token with the `repo` scope to use this endpoint.\n *\n * #### Example using registration token\n *\n * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.\n *\n * ```\n * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN\n * ```\n */\nexport const useActionsCreateRegistrationTokenForRepo = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.AuthenticationToken,\n      ActionsCreateRegistrationTokenForRepoError,\n      ActionsCreateRegistrationTokenForRepoVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.AuthenticationToken,\n    ActionsCreateRegistrationTokenForRepoError,\n    ActionsCreateRegistrationTokenForRepoVariables\n  >(\n    (variables: ActionsCreateRegistrationTokenForRepoVariables) =>\n      fetchActionsCreateRegistrationTokenForRepo({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsCreateRemoveTokenForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsCreateRemoveTokenForRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsCreateRemoveTokenForRepoVariables = {\n  pathParams: ActionsCreateRemoveTokenForRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\n * You must authenticate using an access token with the `repo` scope to use this endpoint.\n *\n * #### Example using remove token\n *\n * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.\n *\n * ```\n * ./config.sh remove --token TOKEN\n * ```\n */\nexport const fetchActionsCreateRemoveTokenForRepo = (\n  variables: ActionsCreateRemoveTokenForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.AuthenticationToken,\n    ActionsCreateRemoveTokenForRepoError,\n    undefined,\n    {},\n    {},\n    ActionsCreateRemoveTokenForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runners/remove-token',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.\n * You must authenticate using an access token with the `repo` scope to use this endpoint.\n *\n * #### Example using remove token\n *\n * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.\n *\n * ```\n * ./config.sh remove --token TOKEN\n * ```\n */\nexport const useActionsCreateRemoveTokenForRepo = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.AuthenticationToken,\n      ActionsCreateRemoveTokenForRepoError,\n      ActionsCreateRemoveTokenForRepoVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.AuthenticationToken,\n    ActionsCreateRemoveTokenForRepoError,\n    ActionsCreateRemoveTokenForRepoVariables\n  >(\n    (variables: ActionsCreateRemoveTokenForRepoVariables) =>\n      fetchActionsCreateRemoveTokenForRepo({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsDeleteSelfHostedRunnerFromRepoPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * Unique identifier of the self-hosted runner.\n   */\n  runnerId: number;\n};\n\nexport type ActionsDeleteSelfHostedRunnerFromRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDeleteSelfHostedRunnerFromRepoVariables = {\n  pathParams: ActionsDeleteSelfHostedRunnerFromRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n *\n * You must authenticate using an access token with the `repo`\n * scope to use this endpoint.\n */\nexport const fetchActionsDeleteSelfHostedRunnerFromRepo = (\n  variables: ActionsDeleteSelfHostedRunnerFromRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDeleteSelfHostedRunnerFromRepoError,\n    undefined,\n    {},\n    {},\n    ActionsDeleteSelfHostedRunnerFromRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runners/{runnerId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.\n *\n * You must authenticate using an access token with the `repo`\n * scope to use this endpoint.\n */\nexport const useActionsDeleteSelfHostedRunnerFromRepo = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsDeleteSelfHostedRunnerFromRepoError,\n      ActionsDeleteSelfHostedRunnerFromRepoVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsDeleteSelfHostedRunnerFromRepoError,\n    ActionsDeleteSelfHostedRunnerFromRepoVariables\n  >(\n    (variables: ActionsDeleteSelfHostedRunnerFromRepoVariables) =>\n      fetchActionsDeleteSelfHostedRunnerFromRepo({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsGetSelfHostedRunnerForRepoPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * Unique identifier of the self-hosted runner.\n   */\n  runnerId: number;\n};\n\nexport type ActionsGetSelfHostedRunnerForRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetSelfHostedRunnerForRepoVariables = {\n  pathParams: ActionsGetSelfHostedRunnerForRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific self-hosted runner configured in a repository.\n *\n * You must authenticate using an access token with the `repo` scope to use this\n * endpoint.\n */\nexport const fetchActionsGetSelfHostedRunnerForRepo = (\n  variables: ActionsGetSelfHostedRunnerForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Runner,\n    ActionsGetSelfHostedRunnerForRepoError,\n    undefined,\n    {},\n    {},\n    ActionsGetSelfHostedRunnerForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runners/{runnerId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific self-hosted runner configured in a repository.\n *\n * You must authenticate using an access token with the `repo` scope to use this\n * endpoint.\n */\nexport const useActionsGetSelfHostedRunnerForRepo = <TData = Schemas.Runner>(\n  variables: ActionsGetSelfHostedRunnerForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Runner,\n      ActionsGetSelfHostedRunnerForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Runner,\n    ActionsGetSelfHostedRunnerForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/runners/{runner_id}',\n      operationId: 'actionsGetSelfHostedRunnerForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetSelfHostedRunnerForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsListWorkflowRunsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsListWorkflowRunsForRepoQueryParams = {\n  /**\n   * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run.\n   */\n  actor?: string;\n  /**\n   * Returns workflow runs associated with a branch. Use the name of the branch of the `push`.\n   */\n  branch?: string;\n  /**\n   * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"\n   */\n  event?: string;\n  /**\n   * Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see \"[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run).\"\n   */\n  status?:\n    | 'completed'\n    | 'action_required'\n    | 'cancelled'\n    | 'failure'\n    | 'neutral'\n    | 'skipped'\n    | 'stale'\n    | 'success'\n    | 'timed_out'\n    | 'in_progress'\n    | 'queued'\n    | 'requested'\n    | 'waiting';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListWorkflowRunsForRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListWorkflowRunsForRepoResponse = {\n  total_count: number;\n  workflow_runs: Schemas.WorkflowRun[];\n};\n\nexport type ActionsListWorkflowRunsForRepoVariables = {\n  pathParams: ActionsListWorkflowRunsForRepoPathParams;\n  queryParams?: ActionsListWorkflowRunsForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).\n *\n * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsListWorkflowRunsForRepo = (\n  variables: ActionsListWorkflowRunsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListWorkflowRunsForRepoResponse,\n    ActionsListWorkflowRunsForRepoError,\n    undefined,\n    {},\n    ActionsListWorkflowRunsForRepoQueryParams,\n    ActionsListWorkflowRunsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).\n *\n * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsListWorkflowRunsForRepo = <\n  TData = ActionsListWorkflowRunsForRepoResponse,\n>(\n  variables: ActionsListWorkflowRunsForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListWorkflowRunsForRepoResponse,\n      ActionsListWorkflowRunsForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListWorkflowRunsForRepoResponse,\n    ActionsListWorkflowRunsForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/runs',\n      operationId: 'actionsListWorkflowRunsForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListWorkflowRunsForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsDeleteWorkflowRunPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The id of the workflow run\n   */\n  runId: number;\n};\n\nexport type ActionsDeleteWorkflowRunError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDeleteWorkflowRunVariables = {\n  pathParams: ActionsDeleteWorkflowRunPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is\n * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use\n * this endpoint.\n */\nexport const fetchActionsDeleteWorkflowRun = (\n  variables: ActionsDeleteWorkflowRunVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDeleteWorkflowRunError,\n    undefined,\n    {},\n    {},\n    ActionsDeleteWorkflowRunPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs/{runId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is\n * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use\n * this endpoint.\n */\nexport const useActionsDeleteWorkflowRun = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsDeleteWorkflowRunError,\n      ActionsDeleteWorkflowRunVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsDeleteWorkflowRunError,\n    ActionsDeleteWorkflowRunVariables\n  >(\n    (variables: ActionsDeleteWorkflowRunVariables) =>\n      fetchActionsDeleteWorkflowRun({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsGetWorkflowRunPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The id of the workflow run\n   */\n  runId: number;\n};\n\nexport type ActionsGetWorkflowRunError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetWorkflowRunVariables = {\n  pathParams: ActionsGetWorkflowRunPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsGetWorkflowRun = (\n  variables: ActionsGetWorkflowRunVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.WorkflowRun,\n    ActionsGetWorkflowRunError,\n    undefined,\n    {},\n    {},\n    ActionsGetWorkflowRunPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs/{runId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsGetWorkflowRun = <TData = Schemas.WorkflowRun>(\n  variables: ActionsGetWorkflowRunVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.WorkflowRun,\n      ActionsGetWorkflowRunError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.WorkflowRun,\n    ActionsGetWorkflowRunError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}',\n      operationId: 'actionsGetWorkflowRun',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetWorkflowRun({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsGetReviewsForRunPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The id of the workflow run\n   */\n  runId: number;\n};\n\nexport type ActionsGetReviewsForRunError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetReviewsForRunResponse = Schemas.EnvironmentApprovals[];\n\nexport type ActionsGetReviewsForRunVariables = {\n  pathParams: ActionsGetReviewsForRunPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsGetReviewsForRun = (\n  variables: ActionsGetReviewsForRunVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsGetReviewsForRunResponse,\n    ActionsGetReviewsForRunError,\n    undefined,\n    {},\n    {},\n    ActionsGetReviewsForRunPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs/{runId}/approvals',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsGetReviewsForRun = <\n  TData = ActionsGetReviewsForRunResponse,\n>(\n  variables: ActionsGetReviewsForRunVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsGetReviewsForRunResponse,\n      ActionsGetReviewsForRunError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsGetReviewsForRunResponse,\n    ActionsGetReviewsForRunError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}/approvals',\n      operationId: 'actionsGetReviewsForRun',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetReviewsForRun({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsListWorkflowRunArtifactsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The id of the workflow run\n   */\n  runId: number;\n};\n\nexport type ActionsListWorkflowRunArtifactsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListWorkflowRunArtifactsError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListWorkflowRunArtifactsResponse = {\n  artifacts: Schemas.Artifact[];\n  total_count: number;\n};\n\nexport type ActionsListWorkflowRunArtifactsVariables = {\n  pathParams: ActionsListWorkflowRunArtifactsPathParams;\n  queryParams?: ActionsListWorkflowRunArtifactsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsListWorkflowRunArtifacts = (\n  variables: ActionsListWorkflowRunArtifactsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListWorkflowRunArtifactsResponse,\n    ActionsListWorkflowRunArtifactsError,\n    undefined,\n    {},\n    ActionsListWorkflowRunArtifactsQueryParams,\n    ActionsListWorkflowRunArtifactsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs/{runId}/artifacts',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsListWorkflowRunArtifacts = <\n  TData = ActionsListWorkflowRunArtifactsResponse,\n>(\n  variables: ActionsListWorkflowRunArtifactsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListWorkflowRunArtifactsResponse,\n      ActionsListWorkflowRunArtifactsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListWorkflowRunArtifactsResponse,\n    ActionsListWorkflowRunArtifactsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts',\n      operationId: 'actionsListWorkflowRunArtifacts',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListWorkflowRunArtifacts(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsCancelWorkflowRunPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The id of the workflow run\n   */\n  runId: number;\n};\n\nexport type ActionsCancelWorkflowRunError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsCancelWorkflowRunVariables = {\n  pathParams: ActionsCancelWorkflowRunPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.\n */\nexport const fetchActionsCancelWorkflowRun = (\n  variables: ActionsCancelWorkflowRunVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsCancelWorkflowRunError,\n    undefined,\n    {},\n    {},\n    ActionsCancelWorkflowRunPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs/{runId}/cancel',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.\n */\nexport const useActionsCancelWorkflowRun = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsCancelWorkflowRunError,\n      ActionsCancelWorkflowRunVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsCancelWorkflowRunError,\n    ActionsCancelWorkflowRunVariables\n  >(\n    (variables: ActionsCancelWorkflowRunVariables) =>\n      fetchActionsCancelWorkflowRun({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsListJobsForWorkflowRunPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The id of the workflow run\n   */\n  runId: number;\n};\n\nexport type ActionsListJobsForWorkflowRunQueryParams = {\n  /**\n   * Filters jobs by their `completed_at` timestamp. Can be one of:\n   * \\* `latest`: Returns jobs from the most recent execution of the workflow run.\n   * \\* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run.\n   *\n   * @default latest\n   */\n  filter?: 'latest' | 'all';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListJobsForWorkflowRunError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListJobsForWorkflowRunResponse = {\n  jobs: Schemas.Job[];\n  total_count: number;\n};\n\nexport type ActionsListJobsForWorkflowRunVariables = {\n  pathParams: ActionsListJobsForWorkflowRunPathParams;\n  queryParams?: ActionsListJobsForWorkflowRunQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).\n */\nexport const fetchActionsListJobsForWorkflowRun = (\n  variables: ActionsListJobsForWorkflowRunVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListJobsForWorkflowRunResponse,\n    ActionsListJobsForWorkflowRunError,\n    undefined,\n    {},\n    ActionsListJobsForWorkflowRunQueryParams,\n    ActionsListJobsForWorkflowRunPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs/{runId}/jobs',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).\n */\nexport const useActionsListJobsForWorkflowRun = <\n  TData = ActionsListJobsForWorkflowRunResponse,\n>(\n  variables: ActionsListJobsForWorkflowRunVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListJobsForWorkflowRunResponse,\n      ActionsListJobsForWorkflowRunError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListJobsForWorkflowRunResponse,\n    ActionsListJobsForWorkflowRunError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}/jobs',\n      operationId: 'actionsListJobsForWorkflowRun',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListJobsForWorkflowRun(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsDeleteWorkflowRunLogsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The id of the workflow run\n   */\n  runId: number;\n};\n\nexport type ActionsDeleteWorkflowRunLogsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDeleteWorkflowRunLogsVariables = {\n  pathParams: ActionsDeleteWorkflowRunLogsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.\n */\nexport const fetchActionsDeleteWorkflowRunLogs = (\n  variables: ActionsDeleteWorkflowRunLogsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDeleteWorkflowRunLogsError,\n    undefined,\n    {},\n    {},\n    ActionsDeleteWorkflowRunLogsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs/{runId}/logs',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.\n */\nexport const useActionsDeleteWorkflowRunLogs = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsDeleteWorkflowRunLogsError,\n      ActionsDeleteWorkflowRunLogsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsDeleteWorkflowRunLogsError,\n    ActionsDeleteWorkflowRunLogsVariables\n  >(\n    (variables: ActionsDeleteWorkflowRunLogsVariables) =>\n      fetchActionsDeleteWorkflowRunLogs({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsDownloadWorkflowRunLogsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The id of the workflow run\n   */\n  runId: number;\n};\n\nexport type ActionsDownloadWorkflowRunLogsError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDownloadWorkflowRunLogsVariables = {\n  pathParams: ActionsDownloadWorkflowRunLogsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for\n * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use\n * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have\n * the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsDownloadWorkflowRunLogs = (\n  variables: ActionsDownloadWorkflowRunLogsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDownloadWorkflowRunLogsError,\n    undefined,\n    {},\n    {},\n    ActionsDownloadWorkflowRunLogsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs/{runId}/logs',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for\n * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use\n * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have\n * the `actions:read` permission to use this endpoint.\n */\nexport const useActionsDownloadWorkflowRunLogs = <TData = undefined>(\n  variables: ActionsDownloadWorkflowRunLogsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      ActionsDownloadWorkflowRunLogsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    ActionsDownloadWorkflowRunLogsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}/logs',\n      operationId: 'actionsDownloadWorkflowRunLogs',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsDownloadWorkflowRunLogs(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsGetPendingDeploymentsForRunPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The id of the workflow run\n   */\n  runId: number;\n};\n\nexport type ActionsGetPendingDeploymentsForRunError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetPendingDeploymentsForRunResponse =\n  Schemas.PendingDeployment[];\n\nexport type ActionsGetPendingDeploymentsForRunVariables = {\n  pathParams: ActionsGetPendingDeploymentsForRunPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Get all deployment environments for a workflow run that are waiting for protection rules to pass.\n *\n * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsGetPendingDeploymentsForRun = (\n  variables: ActionsGetPendingDeploymentsForRunVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsGetPendingDeploymentsForRunResponse,\n    ActionsGetPendingDeploymentsForRunError,\n    undefined,\n    {},\n    {},\n    ActionsGetPendingDeploymentsForRunPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs/{runId}/pending_deployments',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Get all deployment environments for a workflow run that are waiting for protection rules to pass.\n *\n * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsGetPendingDeploymentsForRun = <\n  TData = ActionsGetPendingDeploymentsForRunResponse,\n>(\n  variables: ActionsGetPendingDeploymentsForRunVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsGetPendingDeploymentsForRunResponse,\n      ActionsGetPendingDeploymentsForRunError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsGetPendingDeploymentsForRunResponse,\n    ActionsGetPendingDeploymentsForRunError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments',\n      operationId: 'actionsGetPendingDeploymentsForRun',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetPendingDeploymentsForRun(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsReviewPendingDeploymentsForRunPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The id of the workflow run\n   */\n  runId: number;\n};\n\nexport type ActionsReviewPendingDeploymentsForRunError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsReviewPendingDeploymentsForRunResponse =\n  Schemas.Deployment[];\n\nexport type ActionsReviewPendingDeploymentsForRunRequestBody = {\n  /**\n   * A comment to accompany the deployment review\n   *\n   * @example Ship it!\n   */\n  comment: string;\n  /**\n   * The list of environment ids to approve or reject\n   *\n   * @example 161171787\n   * @example 161171795\n   */\n  environment_ids: number[];\n  /**\n   * Whether to approve or reject deployment to the specified environments. Must be one of: `approved` or `rejected`\n   *\n   * @example approved\n   */\n  state: 'approved' | 'rejected';\n};\n\nexport type ActionsReviewPendingDeploymentsForRunVariables = {\n  body: ActionsReviewPendingDeploymentsForRunRequestBody;\n  pathParams: ActionsReviewPendingDeploymentsForRunPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Approve or reject pending deployments that are waiting on approval by a required reviewer.\n *\n * Anyone with read access to the repository contents and deployments can use this endpoint.\n */\nexport const fetchActionsReviewPendingDeploymentsForRun = (\n  variables: ActionsReviewPendingDeploymentsForRunVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsReviewPendingDeploymentsForRunResponse,\n    ActionsReviewPendingDeploymentsForRunError,\n    ActionsReviewPendingDeploymentsForRunRequestBody,\n    {},\n    {},\n    ActionsReviewPendingDeploymentsForRunPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs/{runId}/pending_deployments',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Approve or reject pending deployments that are waiting on approval by a required reviewer.\n *\n * Anyone with read access to the repository contents and deployments can use this endpoint.\n */\nexport const useActionsReviewPendingDeploymentsForRun = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ActionsReviewPendingDeploymentsForRunResponse,\n      ActionsReviewPendingDeploymentsForRunError,\n      ActionsReviewPendingDeploymentsForRunVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ActionsReviewPendingDeploymentsForRunResponse,\n    ActionsReviewPendingDeploymentsForRunError,\n    ActionsReviewPendingDeploymentsForRunVariables\n  >(\n    (variables: ActionsReviewPendingDeploymentsForRunVariables) =>\n      fetchActionsReviewPendingDeploymentsForRun({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActionsReRunWorkflowPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The id of the workflow run\n   */\n  runId: number;\n};\n\nexport type ActionsReRunWorkflowError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsReRunWorkflowVariables = {\n  pathParams: ActionsReRunWorkflowPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.\n */\nexport const fetchActionsReRunWorkflow = (\n  variables: ActionsReRunWorkflowVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsReRunWorkflowError,\n    undefined,\n    {},\n    {},\n    ActionsReRunWorkflowPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs/{runId}/rerun',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.\n */\nexport const useActionsReRunWorkflow = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsReRunWorkflowError,\n      ActionsReRunWorkflowVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsReRunWorkflowError,\n    ActionsReRunWorkflowVariables\n  >(\n    (variables: ActionsReRunWorkflowVariables) =>\n      fetchActionsReRunWorkflow({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsGetWorkflowRunUsagePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The id of the workflow run\n   */\n  runId: number;\n};\n\nexport type ActionsGetWorkflowRunUsageError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetWorkflowRunUsageVariables = {\n  pathParams: ActionsGetWorkflowRunUsagePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n *\n * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsGetWorkflowRunUsage = (\n  variables: ActionsGetWorkflowRunUsageVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.WorkflowRunUsage,\n    ActionsGetWorkflowRunUsageError,\n    undefined,\n    {},\n    {},\n    ActionsGetWorkflowRunUsagePathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/runs/{runId}/timing',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n *\n * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsGetWorkflowRunUsage = <TData = Schemas.WorkflowRunUsage>(\n  variables: ActionsGetWorkflowRunUsageVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.WorkflowRunUsage,\n      ActionsGetWorkflowRunUsageError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.WorkflowRunUsage,\n    ActionsGetWorkflowRunUsageError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}/timing',\n      operationId: 'actionsGetWorkflowRunUsage',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetWorkflowRunUsage(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsListRepoSecretsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsListRepoSecretsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListRepoSecretsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListRepoSecretsResponse = {\n  secrets: Schemas.ActionsSecret[];\n  total_count: number;\n};\n\nexport type ActionsListRepoSecretsVariables = {\n  pathParams: ActionsListRepoSecretsPathParams;\n  queryParams?: ActionsListRepoSecretsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const fetchActionsListRepoSecrets = (\n  variables: ActionsListRepoSecretsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListRepoSecretsResponse,\n    ActionsListRepoSecretsError,\n    undefined,\n    {},\n    ActionsListRepoSecretsQueryParams,\n    ActionsListRepoSecretsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/secrets',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const useActionsListRepoSecrets = <\n  TData = ActionsListRepoSecretsResponse,\n>(\n  variables: ActionsListRepoSecretsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListRepoSecretsResponse,\n      ActionsListRepoSecretsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListRepoSecretsResponse,\n    ActionsListRepoSecretsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/secrets',\n      operationId: 'actionsListRepoSecrets',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListRepoSecrets({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsGetRepoPublicKeyPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsGetRepoPublicKeyError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetRepoPublicKeyVariables = {\n  pathParams: ActionsGetRepoPublicKeyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const fetchActionsGetRepoPublicKey = (\n  variables: ActionsGetRepoPublicKeyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ActionsPublicKey,\n    ActionsGetRepoPublicKeyError,\n    undefined,\n    {},\n    {},\n    ActionsGetRepoPublicKeyPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/secrets/public-key',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const useActionsGetRepoPublicKey = <TData = Schemas.ActionsPublicKey>(\n  variables: ActionsGetRepoPublicKeyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ActionsPublicKey,\n      ActionsGetRepoPublicKeyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ActionsPublicKey,\n    ActionsGetRepoPublicKeyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/secrets/public-key',\n      operationId: 'actionsGetRepoPublicKey',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetRepoPublicKey({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsDeleteRepoSecretPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n};\n\nexport type ActionsDeleteRepoSecretError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDeleteRepoSecretVariables = {\n  pathParams: ActionsDeleteRepoSecretPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const fetchActionsDeleteRepoSecret = (\n  variables: ActionsDeleteRepoSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDeleteRepoSecretError,\n    undefined,\n    {},\n    {},\n    ActionsDeleteRepoSecretPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/secrets/{secretName}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const useActionsDeleteRepoSecret = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsDeleteRepoSecretError,\n      ActionsDeleteRepoSecretVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsDeleteRepoSecretError,\n    ActionsDeleteRepoSecretVariables\n  >(\n    (variables: ActionsDeleteRepoSecretVariables) =>\n      fetchActionsDeleteRepoSecret({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsGetRepoSecretPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n};\n\nexport type ActionsGetRepoSecretError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetRepoSecretVariables = {\n  pathParams: ActionsGetRepoSecretPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const fetchActionsGetRepoSecret = (\n  variables: ActionsGetRepoSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ActionsSecret,\n    ActionsGetRepoSecretError,\n    undefined,\n    {},\n    {},\n    ActionsGetRepoSecretPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/secrets/{secretName}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const useActionsGetRepoSecret = <TData = Schemas.ActionsSecret>(\n  variables: ActionsGetRepoSecretVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ActionsSecret,\n      ActionsGetRepoSecretError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ActionsSecret,\n    ActionsGetRepoSecretError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/secrets/{secret_name}',\n      operationId: 'actionsGetRepoSecret',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetRepoSecret({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsCreateOrUpdateRepoSecretPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n};\n\nexport type ActionsCreateOrUpdateRepoSecretError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsCreateOrUpdateRepoSecretRequestBody = {\n  /**\n   * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/actions#get-a-repository-public-key) endpoint.\n   *\n   * @pattern ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$\n   */\n  encrypted_value?: string;\n  /**\n   * ID of the key you used to encrypt the secret.\n   */\n  key_id?: string;\n};\n\nexport type ActionsCreateOrUpdateRepoSecretVariables = {\n  body?: ActionsCreateOrUpdateRepoSecretRequestBody;\n  pathParams: ActionsCreateOrUpdateRepoSecretPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates or updates a repository secret with an encrypted value. Encrypt your secret using\n * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\n * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use\n * this endpoint.\n *\n * #### Example encrypting a secret using Node.js\n *\n * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n *\n * ```\n * const sodium = require('tweetsodium');\n *\n * const key = \"base64-encoded-public-key\";\n * const value = \"plain-text-secret\";\n *\n * // Convert the message and key to Uint8Array's (Buffer implements that interface)\n * const messageBytes = Buffer.from(value);\n * const keyBytes = Buffer.from(key, 'base64');\n *\n * // Encrypt using LibSodium.\n * const encryptedBytes = sodium.seal(messageBytes, keyBytes);\n *\n * // Base64 the encrypted secret\n * const encrypted = Buffer.from(encryptedBytes).toString('base64');\n *\n * console.log(encrypted);\n * ```\n *\n *\n * #### Example encrypting a secret using Python\n *\n * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n *\n * ```\n * from base64 import b64encode\n * from nacl import encoding, public\n *\n * def encrypt(public_key: str, secret_value: str) -> str:\n *   \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n *   public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n *   sealed_box = public.SealedBox(public_key)\n *   encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n *   return b64encode(encrypted).decode(\"utf-8\")\n * ```\n *\n * #### Example encrypting a secret using C#\n *\n * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n *\n * ```\n * var secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\n * var publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n *\n * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n *\n * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n * ```\n *\n * #### Example encrypting a secret using Ruby\n *\n * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n *\n * ```ruby\n * require \"rbnacl\"\n * require \"base64\"\n *\n * key = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\n * public_key = RbNaCl::PublicKey.new(key)\n *\n * box = RbNaCl::Boxes::Sealed.from_public_key(public_key)\n * encrypted_secret = box.encrypt(\"my_secret\")\n *\n * # Print the base64 encoded secret\n * puts Base64.strict_encode64(encrypted_secret)\n * ```\n */\nexport const fetchActionsCreateOrUpdateRepoSecret = (\n  variables: ActionsCreateOrUpdateRepoSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsCreateOrUpdateRepoSecretError,\n    ActionsCreateOrUpdateRepoSecretRequestBody,\n    {},\n    {},\n    ActionsCreateOrUpdateRepoSecretPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/secrets/{secretName}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates or updates a repository secret with an encrypted value. Encrypt your secret using\n * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\n * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use\n * this endpoint.\n *\n * #### Example encrypting a secret using Node.js\n *\n * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n *\n * ```\n * const sodium = require('tweetsodium');\n *\n * const key = \"base64-encoded-public-key\";\n * const value = \"plain-text-secret\";\n *\n * // Convert the message and key to Uint8Array's (Buffer implements that interface)\n * const messageBytes = Buffer.from(value);\n * const keyBytes = Buffer.from(key, 'base64');\n *\n * // Encrypt using LibSodium.\n * const encryptedBytes = sodium.seal(messageBytes, keyBytes);\n *\n * // Base64 the encrypted secret\n * const encrypted = Buffer.from(encryptedBytes).toString('base64');\n *\n * console.log(encrypted);\n * ```\n *\n *\n * #### Example encrypting a secret using Python\n *\n * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n *\n * ```\n * from base64 import b64encode\n * from nacl import encoding, public\n *\n * def encrypt(public_key: str, secret_value: str) -> str:\n *   \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n *   public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n *   sealed_box = public.SealedBox(public_key)\n *   encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n *   return b64encode(encrypted).decode(\"utf-8\")\n * ```\n *\n * #### Example encrypting a secret using C#\n *\n * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n *\n * ```\n * var secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\n * var publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n *\n * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n *\n * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n * ```\n *\n * #### Example encrypting a secret using Ruby\n *\n * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n *\n * ```ruby\n * require \"rbnacl\"\n * require \"base64\"\n *\n * key = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\n * public_key = RbNaCl::PublicKey.new(key)\n *\n * box = RbNaCl::Boxes::Sealed.from_public_key(public_key)\n * encrypted_secret = box.encrypt(\"my_secret\")\n *\n * # Print the base64 encoded secret\n * puts Base64.strict_encode64(encrypted_secret)\n * ```\n */\nexport const useActionsCreateOrUpdateRepoSecret = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsCreateOrUpdateRepoSecretError,\n      ActionsCreateOrUpdateRepoSecretVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsCreateOrUpdateRepoSecretError,\n    ActionsCreateOrUpdateRepoSecretVariables\n  >(\n    (variables: ActionsCreateOrUpdateRepoSecretVariables) =>\n      fetchActionsCreateOrUpdateRepoSecret({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsListRepoWorkflowsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActionsListRepoWorkflowsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListRepoWorkflowsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListRepoWorkflowsResponse = {\n  total_count: number;\n  workflows: Schemas.Workflow[];\n};\n\nexport type ActionsListRepoWorkflowsVariables = {\n  pathParams: ActionsListRepoWorkflowsPathParams;\n  queryParams?: ActionsListRepoWorkflowsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsListRepoWorkflows = (\n  variables: ActionsListRepoWorkflowsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListRepoWorkflowsResponse,\n    ActionsListRepoWorkflowsError,\n    undefined,\n    {},\n    ActionsListRepoWorkflowsQueryParams,\n    ActionsListRepoWorkflowsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/workflows',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsListRepoWorkflows = <\n  TData = ActionsListRepoWorkflowsResponse,\n>(\n  variables: ActionsListRepoWorkflowsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListRepoWorkflowsResponse,\n      ActionsListRepoWorkflowsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListRepoWorkflowsResponse,\n    ActionsListRepoWorkflowsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/workflows',\n      operationId: 'actionsListRepoWorkflows',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListRepoWorkflows(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsGetWorkflowPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The ID of the workflow. You can also pass the workflow file name as a string.\n   */\n  workflowId: number | string;\n};\n\nexport type ActionsGetWorkflowError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetWorkflowVariables = {\n  pathParams: ActionsGetWorkflowPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsGetWorkflow = (\n  variables: ActionsGetWorkflowVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Workflow,\n    ActionsGetWorkflowError,\n    undefined,\n    {},\n    {},\n    ActionsGetWorkflowPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/workflows/{workflowId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsGetWorkflow = <TData = Schemas.Workflow>(\n  variables: ActionsGetWorkflowVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Workflow,\n      ActionsGetWorkflowError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Workflow, ActionsGetWorkflowError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/workflows/{workflow_id}',\n      operationId: 'actionsGetWorkflow',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetWorkflow({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsDisableWorkflowPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The ID of the workflow. You can also pass the workflow file name as a string.\n   */\n  workflowId: number | string;\n};\n\nexport type ActionsDisableWorkflowError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDisableWorkflowVariables = {\n  pathParams: ActionsDisableWorkflowPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.\n */\nexport const fetchActionsDisableWorkflow = (\n  variables: ActionsDisableWorkflowVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDisableWorkflowError,\n    undefined,\n    {},\n    {},\n    ActionsDisableWorkflowPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/workflows/{workflowId}/disable',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.\n */\nexport const useActionsDisableWorkflow = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsDisableWorkflowError,\n      ActionsDisableWorkflowVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsDisableWorkflowError,\n    ActionsDisableWorkflowVariables\n  >(\n    (variables: ActionsDisableWorkflowVariables) =>\n      fetchActionsDisableWorkflow({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsCreateWorkflowDispatchPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The ID of the workflow. You can also pass the workflow file name as a string.\n   */\n  workflowId: number | string;\n};\n\nexport type ActionsCreateWorkflowDispatchError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsCreateWorkflowDispatchRequestBody = {\n  /**\n   * Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted.\n   *\n   * @maxProperties 10\n   */\n  inputs?: {\n    [key: string]: string;\n  };\n  /**\n   * The git reference for the workflow. The reference can be a branch or tag name.\n   */\n  ref: string;\n};\n\nexport type ActionsCreateWorkflowDispatchVariables = {\n  body: ActionsCreateWorkflowDispatchRequestBody;\n  pathParams: ActionsCreateWorkflowDispatchPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n *\n * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see \"[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch).\"\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see \"[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line).\"\n */\nexport const fetchActionsCreateWorkflowDispatch = (\n  variables: ActionsCreateWorkflowDispatchVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsCreateWorkflowDispatchError,\n    ActionsCreateWorkflowDispatchRequestBody,\n    {},\n    {},\n    ActionsCreateWorkflowDispatchPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/workflows/{workflowId}/dispatches',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n *\n * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see \"[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch).\"\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see \"[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line).\"\n */\nexport const useActionsCreateWorkflowDispatch = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsCreateWorkflowDispatchError,\n      ActionsCreateWorkflowDispatchVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsCreateWorkflowDispatchError,\n    ActionsCreateWorkflowDispatchVariables\n  >(\n    (variables: ActionsCreateWorkflowDispatchVariables) =>\n      fetchActionsCreateWorkflowDispatch({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsEnableWorkflowPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The ID of the workflow. You can also pass the workflow file name as a string.\n   */\n  workflowId: number | string;\n};\n\nexport type ActionsEnableWorkflowError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsEnableWorkflowVariables = {\n  pathParams: ActionsEnableWorkflowPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.\n */\nexport const fetchActionsEnableWorkflow = (\n  variables: ActionsEnableWorkflowVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsEnableWorkflowError,\n    undefined,\n    {},\n    {},\n    ActionsEnableWorkflowPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/workflows/{workflowId}/enable',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`.\n *\n * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.\n */\nexport const useActionsEnableWorkflow = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsEnableWorkflowError,\n      ActionsEnableWorkflowVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsEnableWorkflowError,\n    ActionsEnableWorkflowVariables\n  >(\n    (variables: ActionsEnableWorkflowVariables) =>\n      fetchActionsEnableWorkflow({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsListWorkflowRunsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The ID of the workflow. You can also pass the workflow file name as a string.\n   */\n  workflowId: number | string;\n};\n\nexport type ActionsListWorkflowRunsQueryParams = {\n  /**\n   * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run.\n   */\n  actor?: string;\n  /**\n   * Returns workflow runs associated with a branch. Use the name of the branch of the `push`.\n   */\n  branch?: string;\n  /**\n   * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see \"[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows).\"\n   */\n  event?: string;\n  /**\n   * Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see \"[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run).\"\n   */\n  status?:\n    | 'completed'\n    | 'action_required'\n    | 'cancelled'\n    | 'failure'\n    | 'neutral'\n    | 'skipped'\n    | 'stale'\n    | 'success'\n    | 'timed_out'\n    | 'in_progress'\n    | 'queued'\n    | 'requested'\n    | 'waiting';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListWorkflowRunsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListWorkflowRunsResponse = {\n  total_count: number;\n  workflow_runs: Schemas.WorkflowRun[];\n};\n\nexport type ActionsListWorkflowRunsVariables = {\n  pathParams: ActionsListWorkflowRunsPathParams;\n  queryParams?: ActionsListWorkflowRunsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).\n *\n * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.\n */\nexport const fetchActionsListWorkflowRuns = (\n  variables: ActionsListWorkflowRunsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListWorkflowRunsResponse,\n    ActionsListWorkflowRunsError,\n    undefined,\n    {},\n    ActionsListWorkflowRunsQueryParams,\n    ActionsListWorkflowRunsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/workflows/{workflowId}/runs',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).\n *\n * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.\n */\nexport const useActionsListWorkflowRuns = <\n  TData = ActionsListWorkflowRunsResponse,\n>(\n  variables: ActionsListWorkflowRunsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListWorkflowRunsResponse,\n      ActionsListWorkflowRunsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListWorkflowRunsResponse,\n    ActionsListWorkflowRunsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs',\n      operationId: 'actionsListWorkflowRuns',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListWorkflowRuns({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsGetWorkflowUsagePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The ID of the workflow. You can also pass the workflow file name as a string.\n   */\n  workflowId: number | string;\n};\n\nexport type ActionsGetWorkflowUsageError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetWorkflowUsageVariables = {\n  pathParams: ActionsGetWorkflowUsagePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n *\n * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchActionsGetWorkflowUsage = (\n  variables: ActionsGetWorkflowUsageVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.WorkflowUsage,\n    ActionsGetWorkflowUsageError,\n    undefined,\n    {},\n    {},\n    ActionsGetWorkflowUsagePathParams\n  >({\n    url: '/repos/{owner}/{repo}/actions/workflows/{workflowId}/timing',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n *\n * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useActionsGetWorkflowUsage = <TData = Schemas.WorkflowUsage>(\n  variables: ActionsGetWorkflowUsageVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.WorkflowUsage,\n      ActionsGetWorkflowUsageError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.WorkflowUsage,\n    ActionsGetWorkflowUsageError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing',\n      operationId: 'actionsGetWorkflowUsage',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetWorkflowUsage({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesListAssigneesPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type IssuesListAssigneesQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListAssigneesError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type IssuesListAssigneesResponse = Schemas.SimpleUser[];\n\nexport type IssuesListAssigneesVariables = {\n  pathParams: IssuesListAssigneesPathParams;\n  queryParams?: IssuesListAssigneesQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository.\n */\nexport const fetchIssuesListAssignees = (\n  variables: IssuesListAssigneesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListAssigneesResponse,\n    IssuesListAssigneesError,\n    undefined,\n    {},\n    IssuesListAssigneesQueryParams,\n    IssuesListAssigneesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/assignees',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository.\n */\nexport const useIssuesListAssignees = <TData = IssuesListAssigneesResponse>(\n  variables: IssuesListAssigneesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListAssigneesResponse,\n      IssuesListAssigneesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListAssigneesResponse,\n    IssuesListAssigneesError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/assignees',\n      operationId: 'issuesListAssignees',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListAssignees({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesCheckUserCanBeAssignedPathParams = {\n  owner: string;\n  repo: string;\n  assignee: string;\n};\n\nexport type IssuesCheckUserCanBeAssignedError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Schemas.BasicError;\n}>;\n\nexport type IssuesCheckUserCanBeAssignedVariables = {\n  pathParams: IssuesCheckUserCanBeAssignedPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Checks if a user has permission to be assigned to an issue in this repository.\n *\n * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned.\n *\n * Otherwise a `404` status code is returned.\n */\nexport const fetchIssuesCheckUserCanBeAssigned = (\n  variables: IssuesCheckUserCanBeAssignedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    IssuesCheckUserCanBeAssignedError,\n    undefined,\n    {},\n    {},\n    IssuesCheckUserCanBeAssignedPathParams\n  >({\n    url: '/repos/{owner}/{repo}/assignees/{assignee}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Checks if a user has permission to be assigned to an issue in this repository.\n *\n * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned.\n *\n * Otherwise a `404` status code is returned.\n */\nexport const useIssuesCheckUserCanBeAssigned = <TData = undefined>(\n  variables: IssuesCheckUserCanBeAssignedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      IssuesCheckUserCanBeAssignedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    IssuesCheckUserCanBeAssignedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/assignees/{assignee}',\n      operationId: 'issuesCheckUserCanBeAssigned',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesCheckUserCanBeAssigned(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposDisableAutomatedSecurityFixesPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposDisableAutomatedSecurityFixesError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposDisableAutomatedSecurityFixesVariables = {\n  pathParams: ReposDisableAutomatedSecurityFixesPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see \"[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)\".\n */\nexport const fetchReposDisableAutomatedSecurityFixes = (\n  variables: ReposDisableAutomatedSecurityFixesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDisableAutomatedSecurityFixesError,\n    undefined,\n    {},\n    {},\n    ReposDisableAutomatedSecurityFixesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/automated-security-fixes',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see \"[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)\".\n */\nexport const useReposDisableAutomatedSecurityFixes = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDisableAutomatedSecurityFixesError,\n      ReposDisableAutomatedSecurityFixesVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDisableAutomatedSecurityFixesError,\n    ReposDisableAutomatedSecurityFixesVariables\n  >(\n    (variables: ReposDisableAutomatedSecurityFixesVariables) =>\n      fetchReposDisableAutomatedSecurityFixes({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposEnableAutomatedSecurityFixesPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposEnableAutomatedSecurityFixesError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposEnableAutomatedSecurityFixesVariables = {\n  pathParams: ReposEnableAutomatedSecurityFixesPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see \"[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)\".\n */\nexport const fetchReposEnableAutomatedSecurityFixes = (\n  variables: ReposEnableAutomatedSecurityFixesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposEnableAutomatedSecurityFixesError,\n    undefined,\n    {},\n    {},\n    ReposEnableAutomatedSecurityFixesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/automated-security-fixes',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see \"[Configuring automated security fixes](https://help.github.com/en/articles/configuring-automated-security-fixes)\".\n */\nexport const useReposEnableAutomatedSecurityFixes = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposEnableAutomatedSecurityFixesError,\n      ReposEnableAutomatedSecurityFixesVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposEnableAutomatedSecurityFixesError,\n    ReposEnableAutomatedSecurityFixesVariables\n  >(\n    (variables: ReposEnableAutomatedSecurityFixesVariables) =>\n      fetchReposEnableAutomatedSecurityFixes({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposListBranchesPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListBranchesQueryParams = {\n  /**\n   * Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches.\n   */\n  protected?: boolean;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListBranchesError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposListBranchesResponse = Schemas.ShortBranch[];\n\nexport type ReposListBranchesVariables = {\n  pathParams: ReposListBranchesPathParams;\n  queryParams?: ReposListBranchesQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposListBranches = (\n  variables: ReposListBranchesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListBranchesResponse,\n    ReposListBranchesError,\n    undefined,\n    {},\n    ReposListBranchesQueryParams,\n    ReposListBranchesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposListBranches = <TData = ReposListBranchesResponse>(\n  variables: ReposListBranchesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListBranchesResponse,\n      ReposListBranchesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListBranchesResponse,\n    ReposListBranchesError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/branches',\n      operationId: 'reposListBranches',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListBranches({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetBranchPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposGetBranchError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type ReposGetBranchVariables = {\n  pathParams: ReposGetBranchPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposGetBranch = (\n  variables: ReposGetBranchVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.BranchWithProtection,\n    ReposGetBranchError,\n    undefined,\n    {},\n    {},\n    ReposGetBranchPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposGetBranch = <TData = Schemas.BranchWithProtection>(\n  variables: ReposGetBranchVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.BranchWithProtection,\n      ReposGetBranchError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.BranchWithProtection,\n    ReposGetBranchError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/branches/{branch}',\n      operationId: 'reposGetBranch',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetBranch({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposDeleteBranchProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposDeleteBranchProtectionError = Fetcher.ErrorWrapper<{\n  status: 403;\n  payload: Responses.Forbidden;\n}>;\n\nexport type ReposDeleteBranchProtectionVariables = {\n  pathParams: ReposDeleteBranchProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const fetchReposDeleteBranchProtection = (\n  variables: ReposDeleteBranchProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteBranchProtectionError,\n    undefined,\n    {},\n    {},\n    ReposDeleteBranchProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const useReposDeleteBranchProtection = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteBranchProtectionError,\n      ReposDeleteBranchProtectionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteBranchProtectionError,\n    ReposDeleteBranchProtectionVariables\n  >(\n    (variables: ReposDeleteBranchProtectionVariables) =>\n      fetchReposDeleteBranchProtection({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetBranchProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposGetBranchProtectionError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetBranchProtectionVariables = {\n  pathParams: ReposGetBranchProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const fetchReposGetBranchProtection = (\n  variables: ReposGetBranchProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.BranchProtection,\n    ReposGetBranchProtectionError,\n    undefined,\n    {},\n    {},\n    ReposGetBranchProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const useReposGetBranchProtection = <TData = Schemas.BranchProtection>(\n  variables: ReposGetBranchProtectionVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.BranchProtection,\n      ReposGetBranchProtectionError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.BranchProtection,\n    ReposGetBranchProtectionError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection',\n      operationId: 'reposGetBranchProtection',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetBranchProtection(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposUpdateBranchProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposUpdateBranchProtectionError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type ReposUpdateBranchProtectionRequestBody = {\n  /**\n   * Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see \"[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\" in the GitHub Help documentation.\n   */\n  allow_deletions?: boolean;\n  /**\n   * Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see \"[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\" in the GitHub Help documentation.\"\n   */\n  allow_force_pushes?: boolean | null;\n  /**\n   * Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable.\n   */\n  enforce_admins: boolean | null;\n  /**\n   * Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see \"[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)\" in the GitHub Help documentation.\n   */\n  required_linear_history?: boolean;\n  /**\n   * Require at least one approving review on a pull request, before merging. Set to `null` to disable.\n   */\n  required_pull_request_reviews: {\n    /**\n     * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit.\n     */\n    dismiss_stale_reviews?: boolean;\n    /**\n     * Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories.\n     */\n    dismissal_restrictions?: {\n      /**\n       * The list of team `slug`s with dismissal access\n       */\n      teams?: string[];\n      /**\n       * The list of user `login`s with dismissal access\n       */\n      users?: string[];\n    };\n    /**\n     * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) review them.\n     */\n    require_code_owner_reviews?: boolean;\n    /**\n     * Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6.\n     */\n    required_approving_review_count?: number;\n  } | null;\n  /**\n   * Require status checks to pass before merging. Set to `null` to disable.\n   */\n  required_status_checks: {\n    /**\n     * The list of status checks to require in order to merge into this branch\n     */\n    contexts: string[];\n    /**\n     * Require branches to be up to date before merging.\n     */\n    strict: boolean;\n  } | null;\n  /**\n   * Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable.\n   */\n  restrictions: {\n    /**\n     * The list of app `slug`s with push access\n     */\n    apps?: string[];\n    /**\n     * The list of team `slug`s with push access\n     */\n    teams: string[];\n    /**\n     * The list of user `login`s with push access\n     */\n    users: string[];\n  } | null;\n};\n\nexport type ReposUpdateBranchProtectionVariables = {\n  body: ReposUpdateBranchProtectionRequestBody;\n  pathParams: ReposUpdateBranchProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Protecting a branch requires admin or owner permissions to the repository.\n *\n * **Note**: Passing new arrays of `users` and `teams` replaces their previous values.\n *\n * **Note**: The list of users, apps, and teams in total is limited to 100 items.\n */\nexport const fetchReposUpdateBranchProtection = (\n  variables: ReposUpdateBranchProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ProtectedBranch,\n    ReposUpdateBranchProtectionError,\n    ReposUpdateBranchProtectionRequestBody,\n    {},\n    {},\n    ReposUpdateBranchProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Protecting a branch requires admin or owner permissions to the repository.\n *\n * **Note**: Passing new arrays of `users` and `teams` replaces their previous values.\n *\n * **Note**: The list of users, apps, and teams in total is limited to 100 items.\n */\nexport const useReposUpdateBranchProtection = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ProtectedBranch,\n      ReposUpdateBranchProtectionError,\n      ReposUpdateBranchProtectionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ProtectedBranch,\n    ReposUpdateBranchProtectionError,\n    ReposUpdateBranchProtectionVariables\n  >(\n    (variables: ReposUpdateBranchProtectionVariables) =>\n      fetchReposUpdateBranchProtection({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposDeleteAdminBranchProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposDeleteAdminBranchProtectionError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposDeleteAdminBranchProtectionVariables = {\n  pathParams: ReposDeleteAdminBranchProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.\n */\nexport const fetchReposDeleteAdminBranchProtection = (\n  variables: ReposDeleteAdminBranchProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteAdminBranchProtectionError,\n    undefined,\n    {},\n    {},\n    ReposDeleteAdminBranchProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.\n */\nexport const useReposDeleteAdminBranchProtection = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteAdminBranchProtectionError,\n      ReposDeleteAdminBranchProtectionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteAdminBranchProtectionError,\n    ReposDeleteAdminBranchProtectionVariables\n  >(\n    (variables: ReposDeleteAdminBranchProtectionVariables) =>\n      fetchReposDeleteAdminBranchProtection({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposGetAdminBranchProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposGetAdminBranchProtectionError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetAdminBranchProtectionVariables = {\n  pathParams: ReposGetAdminBranchProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const fetchReposGetAdminBranchProtection = (\n  variables: ReposGetAdminBranchProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ProtectedBranchAdminEnforced,\n    ReposGetAdminBranchProtectionError,\n    undefined,\n    {},\n    {},\n    ReposGetAdminBranchProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const useReposGetAdminBranchProtection = <\n  TData = Schemas.ProtectedBranchAdminEnforced,\n>(\n  variables: ReposGetAdminBranchProtectionVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ProtectedBranchAdminEnforced,\n      ReposGetAdminBranchProtectionError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ProtectedBranchAdminEnforced,\n    ReposGetAdminBranchProtectionError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins',\n      operationId: 'reposGetAdminBranchProtection',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetAdminBranchProtection(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposSetAdminBranchProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposSetAdminBranchProtectionError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposSetAdminBranchProtectionVariables = {\n  pathParams: ReposSetAdminBranchProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.\n */\nexport const fetchReposSetAdminBranchProtection = (\n  variables: ReposSetAdminBranchProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ProtectedBranchAdminEnforced,\n    ReposSetAdminBranchProtectionError,\n    undefined,\n    {},\n    {},\n    ReposSetAdminBranchProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.\n */\nexport const useReposSetAdminBranchProtection = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ProtectedBranchAdminEnforced,\n      ReposSetAdminBranchProtectionError,\n      ReposSetAdminBranchProtectionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ProtectedBranchAdminEnforced,\n    ReposSetAdminBranchProtectionError,\n    ReposSetAdminBranchProtectionVariables\n  >(\n    (variables: ReposSetAdminBranchProtectionVariables) =>\n      fetchReposSetAdminBranchProtection({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposDeletePullRequestReviewProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposDeletePullRequestReviewProtectionError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposDeletePullRequestReviewProtectionVariables = {\n  pathParams: ReposDeletePullRequestReviewProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const fetchReposDeletePullRequestReviewProtection = (\n  variables: ReposDeletePullRequestReviewProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeletePullRequestReviewProtectionError,\n    undefined,\n    {},\n    {},\n    ReposDeletePullRequestReviewProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const useReposDeletePullRequestReviewProtection = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeletePullRequestReviewProtectionError,\n      ReposDeletePullRequestReviewProtectionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeletePullRequestReviewProtectionError,\n    ReposDeletePullRequestReviewProtectionVariables\n  >(\n    (variables: ReposDeletePullRequestReviewProtectionVariables) =>\n      fetchReposDeletePullRequestReviewProtection({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposGetPullRequestReviewProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposGetPullRequestReviewProtectionError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetPullRequestReviewProtectionVariables = {\n  pathParams: ReposGetPullRequestReviewProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const fetchReposGetPullRequestReviewProtection = (\n  variables: ReposGetPullRequestReviewProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposGetPullRequestReviewProtectionError,\n    undefined,\n    {},\n    {},\n    ReposGetPullRequestReviewProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const useReposGetPullRequestReviewProtection = <TData = undefined>(\n  variables: ReposGetPullRequestReviewProtectionVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      ReposGetPullRequestReviewProtectionError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    ReposGetPullRequestReviewProtectionError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews',\n      operationId: 'reposGetPullRequestReviewProtection',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetPullRequestReviewProtection(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposUpdatePullRequestReviewProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposUpdatePullRequestReviewProtectionError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposUpdatePullRequestReviewProtectionRequestBody = {\n  /**\n   * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit.\n   */\n  dismiss_stale_reviews?: boolean;\n  /**\n   * Specify which users and teams can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories.\n   */\n  dismissal_restrictions?: {\n    /**\n     * The list of team `slug`s with dismissal access\n     */\n    teams?: string[];\n    /**\n     * The list of user `login`s with dismissal access\n     */\n    users?: string[];\n  };\n  /**\n   * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed.\n   */\n  require_code_owner_reviews?: boolean;\n  /**\n   * Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6.\n   */\n  required_approving_review_count?: number;\n};\n\nexport type ReposUpdatePullRequestReviewProtectionVariables = {\n  body?: ReposUpdatePullRequestReviewProtectionRequestBody;\n  pathParams: ReposUpdatePullRequestReviewProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled.\n *\n * **Note**: Passing new arrays of `users` and `teams` replaces their previous values.\n */\nexport const fetchReposUpdatePullRequestReviewProtection = (\n  variables: ReposUpdatePullRequestReviewProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ProtectedBranchPullRequestReview,\n    ReposUpdatePullRequestReviewProtectionError,\n    ReposUpdatePullRequestReviewProtectionRequestBody,\n    {},\n    {},\n    ReposUpdatePullRequestReviewProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled.\n *\n * **Note**: Passing new arrays of `users` and `teams` replaces their previous values.\n */\nexport const useReposUpdatePullRequestReviewProtection = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ProtectedBranchPullRequestReview,\n      ReposUpdatePullRequestReviewProtectionError,\n      ReposUpdatePullRequestReviewProtectionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ProtectedBranchPullRequestReview,\n    ReposUpdatePullRequestReviewProtectionError,\n    ReposUpdatePullRequestReviewProtectionVariables\n  >(\n    (variables: ReposUpdatePullRequestReviewProtectionVariables) =>\n      fetchReposUpdatePullRequestReviewProtection({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposDeleteCommitSignatureProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposDeleteCommitSignatureProtectionError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposDeleteCommitSignatureProtectionVariables = {\n  pathParams: ReposDeleteCommitSignatureProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits.\n */\nexport const fetchReposDeleteCommitSignatureProtection = (\n  variables: ReposDeleteCommitSignatureProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteCommitSignatureProtectionError,\n    undefined,\n    {},\n    {},\n    ReposDeleteCommitSignatureProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits.\n */\nexport const useReposDeleteCommitSignatureProtection = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteCommitSignatureProtectionError,\n      ReposDeleteCommitSignatureProtectionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteCommitSignatureProtectionError,\n    ReposDeleteCommitSignatureProtectionVariables\n  >(\n    (variables: ReposDeleteCommitSignatureProtectionVariables) =>\n      fetchReposDeleteCommitSignatureProtection({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposGetCommitSignatureProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposGetCommitSignatureProtectionError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetCommitSignatureProtectionVariables = {\n  pathParams: ReposGetCommitSignatureProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help.\n *\n * **Note**: You must enable branch protection to require signed commits.\n */\nexport const fetchReposGetCommitSignatureProtection = (\n  variables: ReposGetCommitSignatureProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ProtectedBranchAdminEnforced,\n    ReposGetCommitSignatureProtectionError,\n    undefined,\n    {},\n    {},\n    ReposGetCommitSignatureProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help.\n *\n * **Note**: You must enable branch protection to require signed commits.\n */\nexport const useReposGetCommitSignatureProtection = <\n  TData = Schemas.ProtectedBranchAdminEnforced,\n>(\n  variables: ReposGetCommitSignatureProtectionVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ProtectedBranchAdminEnforced,\n      ReposGetCommitSignatureProtectionError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ProtectedBranchAdminEnforced,\n    ReposGetCommitSignatureProtectionError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures',\n      operationId: 'reposGetCommitSignatureProtection',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetCommitSignatureProtection(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateCommitSignatureProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposCreateCommitSignatureProtectionError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposCreateCommitSignatureProtectionVariables = {\n  pathParams: ReposCreateCommitSignatureProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits.\n */\nexport const fetchReposCreateCommitSignatureProtection = (\n  variables: ReposCreateCommitSignatureProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ProtectedBranchAdminEnforced,\n    ReposCreateCommitSignatureProtectionError,\n    undefined,\n    {},\n    {},\n    ReposCreateCommitSignatureProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits.\n */\nexport const useReposCreateCommitSignatureProtection = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ProtectedBranchAdminEnforced,\n      ReposCreateCommitSignatureProtectionError,\n      ReposCreateCommitSignatureProtectionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ProtectedBranchAdminEnforced,\n    ReposCreateCommitSignatureProtectionError,\n    ReposCreateCommitSignatureProtectionVariables\n  >(\n    (variables: ReposCreateCommitSignatureProtectionVariables) =>\n      fetchReposCreateCommitSignatureProtection({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposRemoveStatusCheckProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposRemoveStatusCheckProtectionError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposRemoveStatusCheckProtectionVariables = {\n  pathParams: ReposRemoveStatusCheckProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const fetchReposRemoveStatusCheckProtection = (\n  variables: ReposRemoveStatusCheckProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposRemoveStatusCheckProtectionError,\n    undefined,\n    {},\n    {},\n    ReposRemoveStatusCheckProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const useReposRemoveStatusCheckProtection = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposRemoveStatusCheckProtectionError,\n      ReposRemoveStatusCheckProtectionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposRemoveStatusCheckProtectionError,\n    ReposRemoveStatusCheckProtectionVariables\n  >(\n    (variables: ReposRemoveStatusCheckProtectionVariables) =>\n      fetchReposRemoveStatusCheckProtection({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposGetStatusChecksProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposGetStatusChecksProtectionError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetStatusChecksProtectionVariables = {\n  pathParams: ReposGetStatusChecksProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const fetchReposGetStatusChecksProtection = (\n  variables: ReposGetStatusChecksProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.StatusCheckPolicy,\n    ReposGetStatusChecksProtectionError,\n    undefined,\n    {},\n    {},\n    ReposGetStatusChecksProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const useReposGetStatusChecksProtection = <\n  TData = Schemas.StatusCheckPolicy,\n>(\n  variables: ReposGetStatusChecksProtectionVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.StatusCheckPolicy,\n      ReposGetStatusChecksProtectionError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.StatusCheckPolicy,\n    ReposGetStatusChecksProtectionError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks',\n      operationId: 'reposGetStatusChecksProtection',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetStatusChecksProtection(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposUpdateStatusCheckProtectionPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposUpdateStatusCheckProtectionError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposUpdateStatusCheckProtectionRequestBody = {\n  /**\n   * The list of status checks to require in order to merge into this branch\n   */\n  contexts?: string[];\n  /**\n   * Require branches to be up to date before merging.\n   */\n  strict?: boolean;\n};\n\nexport type ReposUpdateStatusCheckProtectionVariables = {\n  body?: ReposUpdateStatusCheckProtectionRequestBody;\n  pathParams: ReposUpdateStatusCheckProtectionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled.\n */\nexport const fetchReposUpdateStatusCheckProtection = (\n  variables: ReposUpdateStatusCheckProtectionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.StatusCheckPolicy,\n    ReposUpdateStatusCheckProtectionError,\n    ReposUpdateStatusCheckProtectionRequestBody,\n    {},\n    {},\n    ReposUpdateStatusCheckProtectionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled.\n */\nexport const useReposUpdateStatusCheckProtection = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.StatusCheckPolicy,\n      ReposUpdateStatusCheckProtectionError,\n      ReposUpdateStatusCheckProtectionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.StatusCheckPolicy,\n    ReposUpdateStatusCheckProtectionError,\n    ReposUpdateStatusCheckProtectionVariables\n  >(\n    (variables: ReposUpdateStatusCheckProtectionVariables) =>\n      fetchReposUpdateStatusCheckProtection({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposRemoveStatusCheckContextsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposRemoveStatusCheckContextsError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposRemoveStatusCheckContextsResponse = string[];\n\nexport type ReposRemoveStatusCheckContextsRequestBody = {\n  /**\n   * contexts parameter\n   */\n  contexts: string[];\n};\n\nexport type ReposRemoveStatusCheckContextsVariables = {\n  body: ReposRemoveStatusCheckContextsRequestBody;\n  pathParams: ReposRemoveStatusCheckContextsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const fetchReposRemoveStatusCheckContexts = (\n  variables: ReposRemoveStatusCheckContextsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposRemoveStatusCheckContextsResponse,\n    ReposRemoveStatusCheckContextsError,\n    ReposRemoveStatusCheckContextsRequestBody,\n    {},\n    {},\n    ReposRemoveStatusCheckContextsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const useReposRemoveStatusCheckContexts = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ReposRemoveStatusCheckContextsResponse,\n      ReposRemoveStatusCheckContextsError,\n      ReposRemoveStatusCheckContextsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ReposRemoveStatusCheckContextsResponse,\n    ReposRemoveStatusCheckContextsError,\n    ReposRemoveStatusCheckContextsVariables\n  >(\n    (variables: ReposRemoveStatusCheckContextsVariables) =>\n      fetchReposRemoveStatusCheckContexts({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetAllStatusCheckContextsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposGetAllStatusCheckContextsError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetAllStatusCheckContextsResponse = string[];\n\nexport type ReposGetAllStatusCheckContextsVariables = {\n  pathParams: ReposGetAllStatusCheckContextsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const fetchReposGetAllStatusCheckContexts = (\n  variables: ReposGetAllStatusCheckContextsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposGetAllStatusCheckContextsResponse,\n    ReposGetAllStatusCheckContextsError,\n    undefined,\n    {},\n    {},\n    ReposGetAllStatusCheckContextsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const useReposGetAllStatusCheckContexts = <\n  TData = ReposGetAllStatusCheckContextsResponse,\n>(\n  variables: ReposGetAllStatusCheckContextsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposGetAllStatusCheckContextsResponse,\n      ReposGetAllStatusCheckContextsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposGetAllStatusCheckContextsResponse,\n    ReposGetAllStatusCheckContextsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts',\n      operationId: 'reposGetAllStatusCheckContexts',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetAllStatusCheckContexts(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposAddStatusCheckContextsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposAddStatusCheckContextsError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposAddStatusCheckContextsResponse = string[];\n\nexport type ReposAddStatusCheckContextsRequestBody = {\n  /**\n   * contexts parameter\n   */\n  contexts: string[];\n};\n\nexport type ReposAddStatusCheckContextsVariables = {\n  body: ReposAddStatusCheckContextsRequestBody;\n  pathParams: ReposAddStatusCheckContextsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const fetchReposAddStatusCheckContexts = (\n  variables: ReposAddStatusCheckContextsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposAddStatusCheckContextsResponse,\n    ReposAddStatusCheckContextsError,\n    ReposAddStatusCheckContextsRequestBody,\n    {},\n    {},\n    ReposAddStatusCheckContextsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const useReposAddStatusCheckContexts = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ReposAddStatusCheckContextsResponse,\n      ReposAddStatusCheckContextsError,\n      ReposAddStatusCheckContextsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ReposAddStatusCheckContextsResponse,\n    ReposAddStatusCheckContextsError,\n    ReposAddStatusCheckContextsVariables\n  >(\n    (variables: ReposAddStatusCheckContextsVariables) =>\n      fetchReposAddStatusCheckContexts({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposSetStatusCheckContextsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposSetStatusCheckContextsError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposSetStatusCheckContextsResponse = string[];\n\nexport type ReposSetStatusCheckContextsRequestBody = {\n  /**\n   * contexts parameter\n   */\n  contexts: string[];\n};\n\nexport type ReposSetStatusCheckContextsVariables = {\n  body: ReposSetStatusCheckContextsRequestBody;\n  pathParams: ReposSetStatusCheckContextsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const fetchReposSetStatusCheckContexts = (\n  variables: ReposSetStatusCheckContextsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposSetStatusCheckContextsResponse,\n    ReposSetStatusCheckContextsError,\n    ReposSetStatusCheckContextsRequestBody,\n    {},\n    {},\n    ReposSetStatusCheckContextsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const useReposSetStatusCheckContexts = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ReposSetStatusCheckContextsResponse,\n      ReposSetStatusCheckContextsError,\n      ReposSetStatusCheckContextsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ReposSetStatusCheckContextsResponse,\n    ReposSetStatusCheckContextsError,\n    ReposSetStatusCheckContextsVariables\n  >(\n    (variables: ReposSetStatusCheckContextsVariables) =>\n      fetchReposSetStatusCheckContexts({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposDeleteAccessRestrictionsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposDeleteAccessRestrictionsError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposDeleteAccessRestrictionsVariables = {\n  pathParams: ReposDeleteAccessRestrictionsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Disables the ability to restrict who can push to this branch.\n */\nexport const fetchReposDeleteAccessRestrictions = (\n  variables: ReposDeleteAccessRestrictionsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteAccessRestrictionsError,\n    undefined,\n    {},\n    {},\n    ReposDeleteAccessRestrictionsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Disables the ability to restrict who can push to this branch.\n */\nexport const useReposDeleteAccessRestrictions = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteAccessRestrictionsError,\n      ReposDeleteAccessRestrictionsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteAccessRestrictionsError,\n    ReposDeleteAccessRestrictionsVariables\n  >(\n    (variables: ReposDeleteAccessRestrictionsVariables) =>\n      fetchReposDeleteAccessRestrictions({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetAccessRestrictionsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposGetAccessRestrictionsError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetAccessRestrictionsVariables = {\n  pathParams: ReposGetAccessRestrictionsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Lists who has access to this protected branch.\n *\n * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories.\n */\nexport const fetchReposGetAccessRestrictions = (\n  variables: ReposGetAccessRestrictionsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.BranchRestrictionPolicy,\n    ReposGetAccessRestrictionsError,\n    undefined,\n    {},\n    {},\n    ReposGetAccessRestrictionsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Lists who has access to this protected branch.\n *\n * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories.\n */\nexport const useReposGetAccessRestrictions = <\n  TData = Schemas.BranchRestrictionPolicy,\n>(\n  variables: ReposGetAccessRestrictionsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.BranchRestrictionPolicy,\n      ReposGetAccessRestrictionsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.BranchRestrictionPolicy,\n    ReposGetAccessRestrictionsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions',\n      operationId: 'reposGetAccessRestrictions',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetAccessRestrictions(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposRemoveAppAccessRestrictionsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposRemoveAppAccessRestrictionsError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposRemoveAppAccessRestrictionsResponse = Schemas.Integration[];\n\nexport type ReposRemoveAppAccessRestrictionsRequestBody = {\n  /**\n   * apps parameter\n   */\n  apps: string[];\n};\n\nexport type ReposRemoveAppAccessRestrictionsVariables = {\n  body: ReposRemoveAppAccessRestrictionsRequestBody;\n  pathParams: ReposRemoveAppAccessRestrictionsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n *\n * | Type    | Description                                                                                                                                                |\n * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const fetchReposRemoveAppAccessRestrictions = (\n  variables: ReposRemoveAppAccessRestrictionsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposRemoveAppAccessRestrictionsResponse,\n    ReposRemoveAppAccessRestrictionsError,\n    ReposRemoveAppAccessRestrictionsRequestBody,\n    {},\n    {},\n    ReposRemoveAppAccessRestrictionsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n *\n * | Type    | Description                                                                                                                                                |\n * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const useReposRemoveAppAccessRestrictions = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ReposRemoveAppAccessRestrictionsResponse,\n      ReposRemoveAppAccessRestrictionsError,\n      ReposRemoveAppAccessRestrictionsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ReposRemoveAppAccessRestrictionsResponse,\n    ReposRemoveAppAccessRestrictionsError,\n    ReposRemoveAppAccessRestrictionsVariables\n  >(\n    (variables: ReposRemoveAppAccessRestrictionsVariables) =>\n      fetchReposRemoveAppAccessRestrictions({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposGetAppsWithAccessToProtectedBranchPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposGetAppsWithAccessToProtectedBranchError =\n  Fetcher.ErrorWrapper<{\n    status: 404;\n    payload: Responses.NotFound;\n  }>;\n\nexport type ReposGetAppsWithAccessToProtectedBranchResponse =\n  Schemas.Integration[];\n\nexport type ReposGetAppsWithAccessToProtectedBranchVariables = {\n  pathParams: ReposGetAppsWithAccessToProtectedBranchPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n */\nexport const fetchReposGetAppsWithAccessToProtectedBranch = (\n  variables: ReposGetAppsWithAccessToProtectedBranchVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposGetAppsWithAccessToProtectedBranchResponse,\n    ReposGetAppsWithAccessToProtectedBranchError,\n    undefined,\n    {},\n    {},\n    ReposGetAppsWithAccessToProtectedBranchPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n */\nexport const useReposGetAppsWithAccessToProtectedBranch = <\n  TData = ReposGetAppsWithAccessToProtectedBranchResponse,\n>(\n  variables: ReposGetAppsWithAccessToProtectedBranchVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposGetAppsWithAccessToProtectedBranchResponse,\n      ReposGetAppsWithAccessToProtectedBranchError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposGetAppsWithAccessToProtectedBranchResponse,\n    ReposGetAppsWithAccessToProtectedBranchError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps',\n      operationId: 'reposGetAppsWithAccessToProtectedBranch',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetAppsWithAccessToProtectedBranch(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposAddAppAccessRestrictionsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposAddAppAccessRestrictionsError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposAddAppAccessRestrictionsResponse = Schemas.Integration[];\n\nexport type ReposAddAppAccessRestrictionsRequestBody = {\n  /**\n   * apps parameter\n   */\n  apps: string[];\n};\n\nexport type ReposAddAppAccessRestrictionsVariables = {\n  body: ReposAddAppAccessRestrictionsRequestBody;\n  pathParams: ReposAddAppAccessRestrictionsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n *\n * | Type    | Description                                                                                                                                                |\n * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const fetchReposAddAppAccessRestrictions = (\n  variables: ReposAddAppAccessRestrictionsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposAddAppAccessRestrictionsResponse,\n    ReposAddAppAccessRestrictionsError,\n    ReposAddAppAccessRestrictionsRequestBody,\n    {},\n    {},\n    ReposAddAppAccessRestrictionsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n *\n * | Type    | Description                                                                                                                                                |\n * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const useReposAddAppAccessRestrictions = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ReposAddAppAccessRestrictionsResponse,\n      ReposAddAppAccessRestrictionsError,\n      ReposAddAppAccessRestrictionsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ReposAddAppAccessRestrictionsResponse,\n    ReposAddAppAccessRestrictionsError,\n    ReposAddAppAccessRestrictionsVariables\n  >(\n    (variables: ReposAddAppAccessRestrictionsVariables) =>\n      fetchReposAddAppAccessRestrictions({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposSetAppAccessRestrictionsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposSetAppAccessRestrictionsError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposSetAppAccessRestrictionsResponse = Schemas.Integration[];\n\nexport type ReposSetAppAccessRestrictionsRequestBody = {\n  /**\n   * apps parameter\n   */\n  apps: string[];\n};\n\nexport type ReposSetAppAccessRestrictionsVariables = {\n  body: ReposSetAppAccessRestrictionsRequestBody;\n  pathParams: ReposSetAppAccessRestrictionsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n *\n * | Type    | Description                                                                                                                                                |\n * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const fetchReposSetAppAccessRestrictions = (\n  variables: ReposSetAppAccessRestrictionsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposSetAppAccessRestrictionsResponse,\n    ReposSetAppAccessRestrictionsError,\n    ReposSetAppAccessRestrictionsRequestBody,\n    {},\n    {},\n    ReposSetAppAccessRestrictionsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.\n *\n * | Type    | Description                                                                                                                                                |\n * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const useReposSetAppAccessRestrictions = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ReposSetAppAccessRestrictionsResponse,\n      ReposSetAppAccessRestrictionsError,\n      ReposSetAppAccessRestrictionsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ReposSetAppAccessRestrictionsResponse,\n    ReposSetAppAccessRestrictionsError,\n    ReposSetAppAccessRestrictionsVariables\n  >(\n    (variables: ReposSetAppAccessRestrictionsVariables) =>\n      fetchReposSetAppAccessRestrictions({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposRemoveTeamAccessRestrictionsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposRemoveTeamAccessRestrictionsError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposRemoveTeamAccessRestrictionsResponse = Schemas.Team[];\n\nexport type ReposRemoveTeamAccessRestrictionsRequestBody = {\n  /**\n   * teams parameter\n   */\n  teams: string[];\n};\n\nexport type ReposRemoveTeamAccessRestrictionsVariables = {\n  body: ReposRemoveTeamAccessRestrictionsRequestBody;\n  pathParams: ReposRemoveTeamAccessRestrictionsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Removes the ability of a team to push to this branch. You can also remove push access for child teams.\n *\n * | Type    | Description                                                                                                                                         |\n * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const fetchReposRemoveTeamAccessRestrictions = (\n  variables: ReposRemoveTeamAccessRestrictionsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposRemoveTeamAccessRestrictionsResponse,\n    ReposRemoveTeamAccessRestrictionsError,\n    ReposRemoveTeamAccessRestrictionsRequestBody,\n    {},\n    {},\n    ReposRemoveTeamAccessRestrictionsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Removes the ability of a team to push to this branch. You can also remove push access for child teams.\n *\n * | Type    | Description                                                                                                                                         |\n * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const useReposRemoveTeamAccessRestrictions = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ReposRemoveTeamAccessRestrictionsResponse,\n      ReposRemoveTeamAccessRestrictionsError,\n      ReposRemoveTeamAccessRestrictionsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ReposRemoveTeamAccessRestrictionsResponse,\n    ReposRemoveTeamAccessRestrictionsError,\n    ReposRemoveTeamAccessRestrictionsVariables\n  >(\n    (variables: ReposRemoveTeamAccessRestrictionsVariables) =>\n      fetchReposRemoveTeamAccessRestrictions({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposGetTeamsWithAccessToProtectedBranchPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposGetTeamsWithAccessToProtectedBranchError =\n  Fetcher.ErrorWrapper<{\n    status: 404;\n    payload: Responses.NotFound;\n  }>;\n\nexport type ReposGetTeamsWithAccessToProtectedBranchResponse = Schemas.Team[];\n\nexport type ReposGetTeamsWithAccessToProtectedBranchVariables = {\n  pathParams: ReposGetTeamsWithAccessToProtectedBranchPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Lists the teams who have push access to this branch. The list includes child teams.\n */\nexport const fetchReposGetTeamsWithAccessToProtectedBranch = (\n  variables: ReposGetTeamsWithAccessToProtectedBranchVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposGetTeamsWithAccessToProtectedBranchResponse,\n    ReposGetTeamsWithAccessToProtectedBranchError,\n    undefined,\n    {},\n    {},\n    ReposGetTeamsWithAccessToProtectedBranchPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Lists the teams who have push access to this branch. The list includes child teams.\n */\nexport const useReposGetTeamsWithAccessToProtectedBranch = <\n  TData = ReposGetTeamsWithAccessToProtectedBranchResponse,\n>(\n  variables: ReposGetTeamsWithAccessToProtectedBranchVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposGetTeamsWithAccessToProtectedBranchResponse,\n      ReposGetTeamsWithAccessToProtectedBranchError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposGetTeamsWithAccessToProtectedBranchResponse,\n    ReposGetTeamsWithAccessToProtectedBranchError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams',\n      operationId: 'reposGetTeamsWithAccessToProtectedBranch',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetTeamsWithAccessToProtectedBranch(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposAddTeamAccessRestrictionsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposAddTeamAccessRestrictionsError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposAddTeamAccessRestrictionsResponse = Schemas.Team[];\n\nexport type ReposAddTeamAccessRestrictionsRequestBody = {\n  /**\n   * teams parameter\n   */\n  teams: string[];\n};\n\nexport type ReposAddTeamAccessRestrictionsVariables = {\n  body: ReposAddTeamAccessRestrictionsRequestBody;\n  pathParams: ReposAddTeamAccessRestrictionsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Grants the specified teams push access for this branch. You can also give push access to child teams.\n *\n * | Type    | Description                                                                                                                                |\n * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |\n * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const fetchReposAddTeamAccessRestrictions = (\n  variables: ReposAddTeamAccessRestrictionsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposAddTeamAccessRestrictionsResponse,\n    ReposAddTeamAccessRestrictionsError,\n    ReposAddTeamAccessRestrictionsRequestBody,\n    {},\n    {},\n    ReposAddTeamAccessRestrictionsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Grants the specified teams push access for this branch. You can also give push access to child teams.\n *\n * | Type    | Description                                                                                                                                |\n * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |\n * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const useReposAddTeamAccessRestrictions = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ReposAddTeamAccessRestrictionsResponse,\n      ReposAddTeamAccessRestrictionsError,\n      ReposAddTeamAccessRestrictionsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ReposAddTeamAccessRestrictionsResponse,\n    ReposAddTeamAccessRestrictionsError,\n    ReposAddTeamAccessRestrictionsVariables\n  >(\n    (variables: ReposAddTeamAccessRestrictionsVariables) =>\n      fetchReposAddTeamAccessRestrictions({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposSetTeamAccessRestrictionsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposSetTeamAccessRestrictionsError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposSetTeamAccessRestrictionsResponse = Schemas.Team[];\n\nexport type ReposSetTeamAccessRestrictionsRequestBody = {\n  /**\n   * teams parameter\n   */\n  teams: string[];\n};\n\nexport type ReposSetTeamAccessRestrictionsVariables = {\n  body: ReposSetTeamAccessRestrictionsRequestBody;\n  pathParams: ReposSetTeamAccessRestrictionsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams.\n *\n * | Type    | Description                                                                                                                                |\n * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |\n * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const fetchReposSetTeamAccessRestrictions = (\n  variables: ReposSetTeamAccessRestrictionsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposSetTeamAccessRestrictionsResponse,\n    ReposSetTeamAccessRestrictionsError,\n    ReposSetTeamAccessRestrictionsRequestBody,\n    {},\n    {},\n    ReposSetTeamAccessRestrictionsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams.\n *\n * | Type    | Description                                                                                                                                |\n * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |\n * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const useReposSetTeamAccessRestrictions = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ReposSetTeamAccessRestrictionsResponse,\n      ReposSetTeamAccessRestrictionsError,\n      ReposSetTeamAccessRestrictionsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ReposSetTeamAccessRestrictionsResponse,\n    ReposSetTeamAccessRestrictionsError,\n    ReposSetTeamAccessRestrictionsVariables\n  >(\n    (variables: ReposSetTeamAccessRestrictionsVariables) =>\n      fetchReposSetTeamAccessRestrictions({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposRemoveUserAccessRestrictionsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposRemoveUserAccessRestrictionsError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposRemoveUserAccessRestrictionsResponse = Schemas.SimpleUser[];\n\nexport type ReposRemoveUserAccessRestrictionsRequestBody = {\n  /**\n   * users parameter\n   */\n  users: string[];\n};\n\nexport type ReposRemoveUserAccessRestrictionsVariables = {\n  body: ReposRemoveUserAccessRestrictionsRequestBody;\n  pathParams: ReposRemoveUserAccessRestrictionsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Removes the ability of a user to push to this branch.\n *\n * | Type    | Description                                                                                                                                   |\n * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const fetchReposRemoveUserAccessRestrictions = (\n  variables: ReposRemoveUserAccessRestrictionsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposRemoveUserAccessRestrictionsResponse,\n    ReposRemoveUserAccessRestrictionsError,\n    ReposRemoveUserAccessRestrictionsRequestBody,\n    {},\n    {},\n    ReposRemoveUserAccessRestrictionsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Removes the ability of a user to push to this branch.\n *\n * | Type    | Description                                                                                                                                   |\n * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const useReposRemoveUserAccessRestrictions = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ReposRemoveUserAccessRestrictionsResponse,\n      ReposRemoveUserAccessRestrictionsError,\n      ReposRemoveUserAccessRestrictionsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ReposRemoveUserAccessRestrictionsResponse,\n    ReposRemoveUserAccessRestrictionsError,\n    ReposRemoveUserAccessRestrictionsVariables\n  >(\n    (variables: ReposRemoveUserAccessRestrictionsVariables) =>\n      fetchReposRemoveUserAccessRestrictions({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposGetUsersWithAccessToProtectedBranchPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposGetUsersWithAccessToProtectedBranchError =\n  Fetcher.ErrorWrapper<{\n    status: 404;\n    payload: Responses.NotFound;\n  }>;\n\nexport type ReposGetUsersWithAccessToProtectedBranchResponse =\n  Schemas.SimpleUser[];\n\nexport type ReposGetUsersWithAccessToProtectedBranchVariables = {\n  pathParams: ReposGetUsersWithAccessToProtectedBranchPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Lists the people who have push access to this branch.\n */\nexport const fetchReposGetUsersWithAccessToProtectedBranch = (\n  variables: ReposGetUsersWithAccessToProtectedBranchVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposGetUsersWithAccessToProtectedBranchResponse,\n    ReposGetUsersWithAccessToProtectedBranchError,\n    undefined,\n    {},\n    {},\n    ReposGetUsersWithAccessToProtectedBranchPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Lists the people who have push access to this branch.\n */\nexport const useReposGetUsersWithAccessToProtectedBranch = <\n  TData = ReposGetUsersWithAccessToProtectedBranchResponse,\n>(\n  variables: ReposGetUsersWithAccessToProtectedBranchVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposGetUsersWithAccessToProtectedBranchResponse,\n      ReposGetUsersWithAccessToProtectedBranchError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposGetUsersWithAccessToProtectedBranchResponse,\n    ReposGetUsersWithAccessToProtectedBranchError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users',\n      operationId: 'reposGetUsersWithAccessToProtectedBranch',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetUsersWithAccessToProtectedBranch(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposAddUserAccessRestrictionsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposAddUserAccessRestrictionsError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposAddUserAccessRestrictionsResponse = Schemas.SimpleUser[];\n\nexport type ReposAddUserAccessRestrictionsRequestBody = {\n  /**\n   * users parameter\n   */\n  users: string[];\n};\n\nexport type ReposAddUserAccessRestrictionsVariables = {\n  body: ReposAddUserAccessRestrictionsRequestBody;\n  pathParams: ReposAddUserAccessRestrictionsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Grants the specified people push access for this branch.\n *\n * | Type    | Description                                                                                                                   |\n * | ------- | ----------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const fetchReposAddUserAccessRestrictions = (\n  variables: ReposAddUserAccessRestrictionsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposAddUserAccessRestrictionsResponse,\n    ReposAddUserAccessRestrictionsError,\n    ReposAddUserAccessRestrictionsRequestBody,\n    {},\n    {},\n    ReposAddUserAccessRestrictionsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Grants the specified people push access for this branch.\n *\n * | Type    | Description                                                                                                                   |\n * | ------- | ----------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const useReposAddUserAccessRestrictions = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ReposAddUserAccessRestrictionsResponse,\n      ReposAddUserAccessRestrictionsError,\n      ReposAddUserAccessRestrictionsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ReposAddUserAccessRestrictionsResponse,\n    ReposAddUserAccessRestrictionsError,\n    ReposAddUserAccessRestrictionsVariables\n  >(\n    (variables: ReposAddUserAccessRestrictionsVariables) =>\n      fetchReposAddUserAccessRestrictions({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposSetUserAccessRestrictionsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposSetUserAccessRestrictionsError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposSetUserAccessRestrictionsResponse = Schemas.SimpleUser[];\n\nexport type ReposSetUserAccessRestrictionsRequestBody = {\n  /**\n   * users parameter\n   */\n  users: string[];\n};\n\nexport type ReposSetUserAccessRestrictionsVariables = {\n  body: ReposSetUserAccessRestrictionsRequestBody;\n  pathParams: ReposSetUserAccessRestrictionsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people.\n *\n * | Type    | Description                                                                                                                   |\n * | ------- | ----------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const fetchReposSetUserAccessRestrictions = (\n  variables: ReposSetUserAccessRestrictionsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposSetUserAccessRestrictionsResponse,\n    ReposSetUserAccessRestrictionsError,\n    ReposSetUserAccessRestrictionsRequestBody,\n    {},\n    {},\n    ReposSetUserAccessRestrictionsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people.\n *\n * | Type    | Description                                                                                                                   |\n * | ------- | ----------------------------------------------------------------------------------------------------------------------------- |\n * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |\n */\nexport const useReposSetUserAccessRestrictions = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      ReposSetUserAccessRestrictionsResponse,\n      ReposSetUserAccessRestrictionsError,\n      ReposSetUserAccessRestrictionsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    ReposSetUserAccessRestrictionsResponse,\n    ReposSetUserAccessRestrictionsError,\n    ReposSetUserAccessRestrictionsVariables\n  >(\n    (variables: ReposSetUserAccessRestrictionsVariables) =>\n      fetchReposSetUserAccessRestrictions({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposRenameBranchPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the branch.\n   */\n  branch: string;\n};\n\nexport type ReposRenameBranchError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposRenameBranchRequestBody = {\n  /**\n   * The new name of the branch.\n   */\n  new_name: string;\n};\n\nexport type ReposRenameBranchVariables = {\n  body: ReposRenameBranchRequestBody;\n  pathParams: ReposRenameBranchPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Renames a branch in a repository.\n *\n * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see \"[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)\".\n *\n * The permissions required to use this endpoint depends on whether you are renaming the default branch.\n *\n * To rename a non-default branch:\n *\n * * Users must have push access.\n * * GitHub Apps must have the `contents:write` repository permission.\n *\n * To rename the default branch:\n *\n * * Users must have admin or owner permissions.\n * * GitHub Apps must have the `administration:write` repository permission.\n */\nexport const fetchReposRenameBranch = (\n  variables: ReposRenameBranchVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.BranchWithProtection,\n    ReposRenameBranchError,\n    ReposRenameBranchRequestBody,\n    {},\n    {},\n    ReposRenameBranchPathParams\n  >({\n    url: '/repos/{owner}/{repo}/branches/{branch}/rename',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Renames a branch in a repository.\n *\n * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see \"[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)\".\n *\n * The permissions required to use this endpoint depends on whether you are renaming the default branch.\n *\n * To rename a non-default branch:\n *\n * * Users must have push access.\n * * GitHub Apps must have the `contents:write` repository permission.\n *\n * To rename the default branch:\n *\n * * Users must have admin or owner permissions.\n * * GitHub Apps must have the `administration:write` repository permission.\n */\nexport const useReposRenameBranch = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.BranchWithProtection,\n      ReposRenameBranchError,\n      ReposRenameBranchVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.BranchWithProtection,\n    ReposRenameBranchError,\n    ReposRenameBranchVariables\n  >(\n    (variables: ReposRenameBranchVariables) =>\n      fetchReposRenameBranch({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ChecksCreatePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ChecksCreateError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ChecksCreateVariables = {\n  body:\n    | ({\n        status: 'completed';\n      } & {\n        [key: string]: any;\n      })\n    | ({\n        status?: 'queued' | 'in_progress';\n      } & {\n        [key: string]: any;\n      });\n  pathParams: ChecksCreatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n *\n * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs.\n *\n * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs.\n */\nexport const fetchChecksCreate = (\n  variables: ChecksCreateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CheckRun,\n    ChecksCreateError,\n    | ({\n        status: 'completed';\n      } & {\n        [key: string]: any;\n      })\n    | ({\n        status?: 'queued' | 'in_progress';\n      } & {\n        [key: string]: any;\n      }),\n    {},\n    {},\n    ChecksCreatePathParams\n  >({\n    url: '/repos/{owner}/{repo}/check-runs',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n *\n * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs.\n *\n * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs.\n */\nexport const useChecksCreate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.CheckRun,\n      ChecksCreateError,\n      ChecksCreateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.CheckRun,\n    ChecksCreateError,\n    ChecksCreateVariables\n  >(\n    (variables: ChecksCreateVariables) =>\n      fetchChecksCreate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ChecksGetPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * check_run_id parameter\n   */\n  checkRunId: number;\n};\n\nexport type ChecksGetError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ChecksGetVariables = {\n  pathParams: ChecksGetPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n *\n * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.\n */\nexport const fetchChecksGet = (\n  variables: ChecksGetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CheckRun,\n    ChecksGetError,\n    undefined,\n    {},\n    {},\n    ChecksGetPathParams\n  >({\n    url: '/repos/{owner}/{repo}/check-runs/{checkRunId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n *\n * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.\n */\nexport const useChecksGet = <TData = Schemas.CheckRun>(\n  variables: ChecksGetVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.CheckRun, ChecksGetError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.CheckRun, ChecksGetError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/check-runs/{check_run_id}',\n      operationId: 'checksGet',\n      variables,\n    }),\n    ({ signal }) => fetchChecksGet({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ChecksUpdatePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * check_run_id parameter\n   */\n  checkRunId: number;\n};\n\nexport type ChecksUpdateError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ChecksUpdateVariables = {\n  body?:\n    | ({\n        status?: 'completed';\n      } & {\n        [key: string]: any;\n      })\n    | ({\n        status?: 'queued' | 'in_progress';\n      } & {\n        [key: string]: any;\n      });\n  pathParams: ChecksUpdatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n *\n * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs.\n */\nexport const fetchChecksUpdate = (\n  variables: ChecksUpdateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CheckRun,\n    ChecksUpdateError,\n    | ({\n        status?: 'completed';\n      } & {\n        [key: string]: any;\n      })\n    | ({\n        status?: 'queued' | 'in_progress';\n      } & {\n        [key: string]: any;\n      }),\n    {},\n    {},\n    ChecksUpdatePathParams\n  >({\n    url: '/repos/{owner}/{repo}/check-runs/{checkRunId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n *\n * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs.\n */\nexport const useChecksUpdate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.CheckRun,\n      ChecksUpdateError,\n      ChecksUpdateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.CheckRun,\n    ChecksUpdateError,\n    ChecksUpdateVariables\n  >(\n    (variables: ChecksUpdateVariables) =>\n      fetchChecksUpdate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ChecksListAnnotationsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * check_run_id parameter\n   */\n  checkRunId: number;\n};\n\nexport type ChecksListAnnotationsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ChecksListAnnotationsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ChecksListAnnotationsResponse = Schemas.CheckAnnotation[];\n\nexport type ChecksListAnnotationsVariables = {\n  pathParams: ChecksListAnnotationsPathParams;\n  queryParams?: ChecksListAnnotationsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository.\n */\nexport const fetchChecksListAnnotations = (\n  variables: ChecksListAnnotationsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ChecksListAnnotationsResponse,\n    ChecksListAnnotationsError,\n    undefined,\n    {},\n    ChecksListAnnotationsQueryParams,\n    ChecksListAnnotationsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/check-runs/{checkRunId}/annotations',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository.\n */\nexport const useChecksListAnnotations = <TData = ChecksListAnnotationsResponse>(\n  variables: ChecksListAnnotationsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ChecksListAnnotationsResponse,\n      ChecksListAnnotationsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ChecksListAnnotationsResponse,\n    ChecksListAnnotationsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations',\n      operationId: 'checksListAnnotations',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchChecksListAnnotations({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ChecksCreateSuitePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ChecksCreateSuiteError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ChecksCreateSuiteRequestBody = {\n  /**\n   * The sha of the head commit.\n   */\n  head_sha: string;\n};\n\nexport type ChecksCreateSuiteVariables = {\n  body: ChecksCreateSuiteRequestBody;\n  pathParams: ChecksCreateSuitePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n *\n * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using \"[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)\". Your GitHub App must have the `checks:write` permission to create check suites.\n */\nexport const fetchChecksCreateSuite = (\n  variables: ChecksCreateSuiteVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CheckSuite,\n    ChecksCreateSuiteError,\n    ChecksCreateSuiteRequestBody,\n    {},\n    {},\n    ChecksCreateSuitePathParams\n  >({\n    url: '/repos/{owner}/{repo}/check-suites',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n *\n * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using \"[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)\". Your GitHub App must have the `checks:write` permission to create check suites.\n */\nexport const useChecksCreateSuite = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.CheckSuite,\n      ChecksCreateSuiteError,\n      ChecksCreateSuiteVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.CheckSuite,\n    ChecksCreateSuiteError,\n    ChecksCreateSuiteVariables\n  >(\n    (variables: ChecksCreateSuiteVariables) =>\n      fetchChecksCreateSuite({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ChecksSetSuitesPreferencesPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ChecksSetSuitesPreferencesError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ChecksSetSuitesPreferencesRequestBody = {\n  /**\n   * Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://docs.github.com/rest/reference/checks#auto_trigger_checks-object) description for details.\n   */\n  auto_trigger_checks?: {\n    /**\n     * The `id` of the GitHub App.\n     */\n    app_id: number;\n    /**\n     * Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them.\n     *\n     * @default true\n     */\n    setting: boolean;\n  }[];\n};\n\nexport type ChecksSetSuitesPreferencesVariables = {\n  body?: ChecksSetSuitesPreferencesRequestBody;\n  pathParams: ChecksSetSuitesPreferencesPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites.\n */\nexport const fetchChecksSetSuitesPreferences = (\n  variables: ChecksSetSuitesPreferencesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CheckSuitePreference,\n    ChecksSetSuitesPreferencesError,\n    ChecksSetSuitesPreferencesRequestBody,\n    {},\n    {},\n    ChecksSetSuitesPreferencesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/check-suites/preferences',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites.\n */\nexport const useChecksSetSuitesPreferences = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.CheckSuitePreference,\n      ChecksSetSuitesPreferencesError,\n      ChecksSetSuitesPreferencesVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.CheckSuitePreference,\n    ChecksSetSuitesPreferencesError,\n    ChecksSetSuitesPreferencesVariables\n  >(\n    (variables: ChecksSetSuitesPreferencesVariables) =>\n      fetchChecksSetSuitesPreferences({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ChecksGetSuitePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * check_suite_id parameter\n   */\n  checkSuiteId: number;\n};\n\nexport type ChecksGetSuiteError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ChecksGetSuiteVariables = {\n  pathParams: ChecksGetSuitePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n *\n * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository.\n */\nexport const fetchChecksGetSuite = (\n  variables: ChecksGetSuiteVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CheckSuite,\n    ChecksGetSuiteError,\n    undefined,\n    {},\n    {},\n    ChecksGetSuitePathParams\n  >({\n    url: '/repos/{owner}/{repo}/check-suites/{checkSuiteId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n *\n * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository.\n */\nexport const useChecksGetSuite = <TData = Schemas.CheckSuite>(\n  variables: ChecksGetSuiteVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.CheckSuite, ChecksGetSuiteError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.CheckSuite, ChecksGetSuiteError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/check-suites/{check_suite_id}',\n      operationId: 'checksGetSuite',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchChecksGetSuite({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ChecksListForSuitePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * check_suite_id parameter\n   */\n  checkSuiteId: number;\n};\n\nexport type ChecksListForSuiteQueryParams = {\n  /**\n   * Returns check runs with the specified `name`.\n   */\n  check_name?: string;\n  /**\n   * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`.\n   */\n  status?: 'queued' | 'in_progress' | 'completed';\n  /**\n   * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`.\n   *\n   * @default latest\n   */\n  filter?: 'latest' | 'all';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ChecksListForSuiteError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ChecksListForSuiteResponse = {\n  check_runs: Schemas.CheckRun[];\n  total_count: number;\n};\n\nexport type ChecksListForSuiteVariables = {\n  pathParams: ChecksListForSuitePathParams;\n  queryParams?: ChecksListForSuiteQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n *\n * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.\n */\nexport const fetchChecksListForSuite = (\n  variables: ChecksListForSuiteVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ChecksListForSuiteResponse,\n    ChecksListForSuiteError,\n    undefined,\n    {},\n    ChecksListForSuiteQueryParams,\n    ChecksListForSuitePathParams\n  >({\n    url: '/repos/{owner}/{repo}/check-suites/{checkSuiteId}/check-runs',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n *\n * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.\n */\nexport const useChecksListForSuite = <TData = ChecksListForSuiteResponse>(\n  variables: ChecksListForSuiteVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ChecksListForSuiteResponse,\n      ChecksListForSuiteError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ChecksListForSuiteResponse,\n    ChecksListForSuiteError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs',\n      operationId: 'checksListForSuite',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchChecksListForSuite({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ChecksRerequestSuitePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * check_suite_id parameter\n   */\n  checkSuiteId: number;\n};\n\nexport type ChecksRerequestSuiteError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ChecksRerequestSuiteVariables = {\n  pathParams: ChecksRerequestSuitePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared.\n *\n * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository.\n */\nexport const fetchChecksRerequestSuite = (\n  variables: ChecksRerequestSuiteVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ChecksRerequestSuiteError,\n    undefined,\n    {},\n    {},\n    ChecksRerequestSuitePathParams\n  >({\n    url: '/repos/{owner}/{repo}/check-suites/{checkSuiteId}/rerequest',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared.\n *\n * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository.\n */\nexport const useChecksRerequestSuite = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ChecksRerequestSuiteError,\n      ChecksRerequestSuiteVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ChecksRerequestSuiteError,\n    ChecksRerequestSuiteVariables\n  >(\n    (variables: ChecksRerequestSuiteVariables) =>\n      fetchChecksRerequestSuite({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type CodeScanningListAlertsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type CodeScanningListAlertsForRepoQueryParams = {\n  /**\n   * The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both.\n   */\n  tool_name?: Schemas.CodeScanningAnalysisToolName;\n  /**\n   * The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both.\n   */\n  tool_guid?: Schemas.CodeScanningAnalysisToolGuid;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/<branch name>` or simply `<branch name>`. To reference a pull request use `refs/pull/<number>/merge`.\n   */\n  ref?: Schemas.CodeScanningRef;\n  /**\n   * Set to `open`, `fixed`, or `dismissed` to list code scanning alerts in a specific state.\n   */\n  state?: Schemas.CodeScanningAlertState;\n};\n\nexport type CodeScanningListAlertsForRepoError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.CodeScanningForbiddenRead;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type CodeScanningListAlertsForRepoResponse =\n  Schemas.CodeScanningAlertItems[];\n\nexport type CodeScanningListAlertsForRepoVariables = {\n  pathParams: CodeScanningListAlertsForRepoPathParams;\n  queryParams?: CodeScanningListAlertsForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all open code scanning alerts for the default branch (usually `main`\n * or `master`). You must use an access token with the `security_events` scope to use\n * this endpoint. GitHub Apps must have the `security_events` read permission to use\n * this endpoint.\n *\n * The response includes a `most_recent_instance` object.\n * This provides details of the most recent instance of this alert\n * for the default branch or for the specified Git reference\n * (if you used `ref` in the request).\n */\nexport const fetchCodeScanningListAlertsForRepo = (\n  variables: CodeScanningListAlertsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    CodeScanningListAlertsForRepoResponse,\n    CodeScanningListAlertsForRepoError,\n    undefined,\n    {},\n    CodeScanningListAlertsForRepoQueryParams,\n    CodeScanningListAlertsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/code-scanning/alerts',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all open code scanning alerts for the default branch (usually `main`\n * or `master`). You must use an access token with the `security_events` scope to use\n * this endpoint. GitHub Apps must have the `security_events` read permission to use\n * this endpoint.\n *\n * The response includes a `most_recent_instance` object.\n * This provides details of the most recent instance of this alert\n * for the default branch or for the specified Git reference\n * (if you used `ref` in the request).\n */\nexport const useCodeScanningListAlertsForRepo = <\n  TData = CodeScanningListAlertsForRepoResponse,\n>(\n  variables: CodeScanningListAlertsForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      CodeScanningListAlertsForRepoResponse,\n      CodeScanningListAlertsForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    CodeScanningListAlertsForRepoResponse,\n    CodeScanningListAlertsForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/code-scanning/alerts',\n      operationId: 'codeScanningListAlertsForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchCodeScanningListAlertsForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type CodeScanningGetAlertPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.\n   */\n  alertNumber: Schemas.AlertNumber;\n};\n\nexport type CodeScanningGetAlertError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.CodeScanningForbiddenRead;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type CodeScanningGetAlertVariables = {\n  pathParams: CodeScanningGetAlertPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.\n *\n * **Deprecation notice**:\n * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`.\n */\nexport const fetchCodeScanningGetAlert = (\n  variables: CodeScanningGetAlertVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CodeScanningAlert,\n    CodeScanningGetAlertError,\n    undefined,\n    {},\n    {},\n    CodeScanningGetAlertPathParams\n  >({\n    url: '/repos/{owner}/{repo}/code-scanning/alerts/{alertNumber}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.\n *\n * **Deprecation notice**:\n * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`.\n */\nexport const useCodeScanningGetAlert = <TData = Schemas.CodeScanningAlert>(\n  variables: CodeScanningGetAlertVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CodeScanningAlert,\n      CodeScanningGetAlertError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.CodeScanningAlert,\n    CodeScanningGetAlertError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}',\n      operationId: 'codeScanningGetAlert',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchCodeScanningGetAlert({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type CodeScanningUpdateAlertPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.\n   */\n  alertNumber: Schemas.AlertNumber;\n};\n\nexport type CodeScanningUpdateAlertError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.CodeScanningForbiddenWrite;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type CodeScanningUpdateAlertRequestBody = {\n  dismissed_reason?: Schemas.CodeScanningAlertDismissedReason;\n  state: Schemas.CodeScanningAlertSetState;\n};\n\nexport type CodeScanningUpdateAlertVariables = {\n  body: CodeScanningUpdateAlertRequestBody;\n  pathParams: CodeScanningUpdateAlertPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint.\n */\nexport const fetchCodeScanningUpdateAlert = (\n  variables: CodeScanningUpdateAlertVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CodeScanningAlert,\n    CodeScanningUpdateAlertError,\n    CodeScanningUpdateAlertRequestBody,\n    {},\n    {},\n    CodeScanningUpdateAlertPathParams\n  >({\n    url: '/repos/{owner}/{repo}/code-scanning/alerts/{alertNumber}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint.\n */\nexport const useCodeScanningUpdateAlert = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.CodeScanningAlert,\n      CodeScanningUpdateAlertError,\n      CodeScanningUpdateAlertVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.CodeScanningAlert,\n    CodeScanningUpdateAlertError,\n    CodeScanningUpdateAlertVariables\n  >(\n    (variables: CodeScanningUpdateAlertVariables) =>\n      fetchCodeScanningUpdateAlert({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type CodeScanningListAlertsInstancesPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.\n   */\n  alertNumber: Schemas.AlertNumber;\n};\n\nexport type CodeScanningListAlertsInstancesQueryParams = {\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/<branch name>` or simply `<branch name>`. To reference a pull request use `refs/pull/<number>/merge`.\n   */\n  ref?: Schemas.CodeScanningRef;\n};\n\nexport type CodeScanningListAlertsInstancesError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.CodeScanningForbiddenRead;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type CodeScanningListAlertsInstancesResponse =\n  Schemas.CodeScanningAlertInstance[];\n\nexport type CodeScanningListAlertsInstancesVariables = {\n  pathParams: CodeScanningListAlertsInstancesPathParams;\n  queryParams?: CodeScanningListAlertsInstancesQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all instances of the specified code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.\n */\nexport const fetchCodeScanningListAlertsInstances = (\n  variables: CodeScanningListAlertsInstancesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    CodeScanningListAlertsInstancesResponse,\n    CodeScanningListAlertsInstancesError,\n    undefined,\n    {},\n    CodeScanningListAlertsInstancesQueryParams,\n    CodeScanningListAlertsInstancesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/code-scanning/alerts/{alertNumber}/instances',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all instances of the specified code scanning alert. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.\n */\nexport const useCodeScanningListAlertsInstances = <\n  TData = CodeScanningListAlertsInstancesResponse,\n>(\n  variables: CodeScanningListAlertsInstancesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      CodeScanningListAlertsInstancesResponse,\n      CodeScanningListAlertsInstancesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    CodeScanningListAlertsInstancesResponse,\n    CodeScanningListAlertsInstancesError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances',\n      operationId: 'codeScanningListAlertsInstances',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchCodeScanningListAlertsInstances(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type CodeScanningListRecentAnalysesPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type CodeScanningListRecentAnalysesQueryParams = {\n  /**\n   * The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both.\n   */\n  tool_name?: Schemas.CodeScanningAnalysisToolName;\n  /**\n   * The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both.\n   */\n  tool_guid?: Schemas.CodeScanningAnalysisToolGuid;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/<branch name>` or simply `<branch name>`. To reference a pull request use `refs/pull/<number>/merge`.\n   */\n  ref?: Schemas.CodeScanningRef;\n  /**\n   * Filter analyses belonging to the same SARIF upload.\n   */\n  sarif_id?: Schemas.CodeScanningAnalysisSarifId;\n};\n\nexport type CodeScanningListRecentAnalysesError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.CodeScanningForbiddenRead;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type CodeScanningListRecentAnalysesResponse =\n  Schemas.CodeScanningAnalysis[];\n\nexport type CodeScanningListRecentAnalysesVariables = {\n  pathParams: CodeScanningListRecentAnalysesPathParams;\n  queryParams?: CodeScanningListRecentAnalysesQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the details of all code scanning analyses for a repository,\n * starting with the most recent.\n * The response is paginated and you can use the `page` and `per_page` parameters\n * to list the analyses you're interested in.\n * By default 30 analyses are listed per page.\n *\n * The `rules_count` field in the response give the number of rules\n * that were run in the analysis.\n * For very old analyses this data is not available,\n * and `0` is returned in this field.\n *\n * You must use an access token with the `security_events` scope to use this endpoint.\n * GitHub Apps must have the `security_events` read permission to use this endpoint.\n *\n * **Deprecation notice**:\n * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field.\n */\nexport const fetchCodeScanningListRecentAnalyses = (\n  variables: CodeScanningListRecentAnalysesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    CodeScanningListRecentAnalysesResponse,\n    CodeScanningListRecentAnalysesError,\n    undefined,\n    {},\n    CodeScanningListRecentAnalysesQueryParams,\n    CodeScanningListRecentAnalysesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/code-scanning/analyses',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the details of all code scanning analyses for a repository,\n * starting with the most recent.\n * The response is paginated and you can use the `page` and `per_page` parameters\n * to list the analyses you're interested in.\n * By default 30 analyses are listed per page.\n *\n * The `rules_count` field in the response give the number of rules\n * that were run in the analysis.\n * For very old analyses this data is not available,\n * and `0` is returned in this field.\n *\n * You must use an access token with the `security_events` scope to use this endpoint.\n * GitHub Apps must have the `security_events` read permission to use this endpoint.\n *\n * **Deprecation notice**:\n * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field.\n */\nexport const useCodeScanningListRecentAnalyses = <\n  TData = CodeScanningListRecentAnalysesResponse,\n>(\n  variables: CodeScanningListRecentAnalysesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      CodeScanningListRecentAnalysesResponse,\n      CodeScanningListRecentAnalysesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    CodeScanningListRecentAnalysesResponse,\n    CodeScanningListRecentAnalysesError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/code-scanning/analyses',\n      operationId: 'codeScanningListRecentAnalyses',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchCodeScanningListRecentAnalyses(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type CodeScanningDeleteAnalysisPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation.\n   */\n  analysisId: number;\n};\n\nexport type CodeScanningDeleteAnalysisQueryParams = {\n  /**\n   * Allow deletion if the specified analysis is the last in a set. The parameter can be used without a value as the parameter value is not considered. If you attempt to delete the final analysis in a set without using this parameter you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.`\n   */\n  confirm_delete?: string | null;\n};\n\nexport type CodeScanningDeleteAnalysisError = Fetcher.ErrorWrapper<\n  | {\n      status: 400;\n      payload: Responses.BadRequest;\n    }\n  | {\n      status: 403;\n      payload: Responses.CodeScanningForbiddenWrite;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type CodeScanningDeleteAnalysisVariables = {\n  pathParams: CodeScanningDeleteAnalysisPathParams;\n  queryParams?: CodeScanningDeleteAnalysisQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a specified code scanning analysis from a repository. For\n * private repositories, you must use an access token with the `repo` scope. For public repositories,\n * you must use an access token with `public_repo` and `repo:security_events` scopes.\n * GitHub Apps must have the `security_events` write permission to use this endpoint.\n *\n * You can delete one analysis at a time.\n * To delete a series of analyses, start with the most recent analysis and work backwards.\n * Conceptually, the process is similar to the undo function in a text editor.\n *\n * When you list the analyses for a repository,\n * one or more will be identified as deletable in the response:\n *\n * ```\n * \"deletable\": true\n * ```\n *\n * An analysis is deletable when it's the most recent in a set of analyses.\n * Typically, a repository will have multiple sets of analyses\n * for each enabled code scanning tool,\n * where a set is determined by a unique combination of analysis values:\n *\n * * `ref`\n * * `tool`\n * * `analysis_key`\n * * `environment`\n *\n * If you attempt to delete an analysis that is not the most recent in a set,\n * you'll get a 400 response with the message:\n *\n * ```\n * Analysis specified is not deletable.\n * ```\n *\n * The response from a successful `DELETE` operation provides you with\n * two alternative URLs for deleting the next analysis in the set\n * (see the example default response below).\n * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis\n * in the set. This is a useful option if you want to preserve at least one analysis\n * for the specified tool in your repository.\n * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool.\n * When you delete the last analysis in a set the value of `next_analysis_url` and `confirm_delete_url`\n * in the 200 response is `null`.\n *\n * As an example of the deletion process,\n * let's imagine that you added a workflow that configured a particular code scanning tool\n * to analyze the code in a repository. This tool has added 15 analyses:\n * 10 on the default branch, and another 5 on a topic branch.\n * You therefore have two separate sets of analyses for this tool.\n * You've now decided that you want to remove all of the analyses for the tool.\n * To do this you must make 15 separate deletion requests.\n * To start, you must find the deletable analysis for one of the sets,\n * step through deleting the analyses in that set,\n * and then repeat the process for the second set.\n * The procedure therefore consists of a nested loop:\n *\n * **Outer loop**:\n * * List the analyses for the repository, filtered by tool.\n * * Parse this list to find a deletable analysis. If found:\n *\n *   **Inner loop**:\n *   * Delete the identified analysis.\n *   * Parse the response for the value of `next_analysis_url` and, if found, use this in the next iteration.\n *\n * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `next_analysis_url` value. Alternatively, you could use the `confirm_delete_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.\n */\nexport const fetchCodeScanningDeleteAnalysis = (\n  variables: CodeScanningDeleteAnalysisVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CodeScanningAnalysisDeletion,\n    CodeScanningDeleteAnalysisError,\n    undefined,\n    {},\n    CodeScanningDeleteAnalysisQueryParams,\n    CodeScanningDeleteAnalysisPathParams\n  >({\n    url: '/repos/{owner}/{repo}/code-scanning/analyses/{analysisId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a specified code scanning analysis from a repository. For\n * private repositories, you must use an access token with the `repo` scope. For public repositories,\n * you must use an access token with `public_repo` and `repo:security_events` scopes.\n * GitHub Apps must have the `security_events` write permission to use this endpoint.\n *\n * You can delete one analysis at a time.\n * To delete a series of analyses, start with the most recent analysis and work backwards.\n * Conceptually, the process is similar to the undo function in a text editor.\n *\n * When you list the analyses for a repository,\n * one or more will be identified as deletable in the response:\n *\n * ```\n * \"deletable\": true\n * ```\n *\n * An analysis is deletable when it's the most recent in a set of analyses.\n * Typically, a repository will have multiple sets of analyses\n * for each enabled code scanning tool,\n * where a set is determined by a unique combination of analysis values:\n *\n * * `ref`\n * * `tool`\n * * `analysis_key`\n * * `environment`\n *\n * If you attempt to delete an analysis that is not the most recent in a set,\n * you'll get a 400 response with the message:\n *\n * ```\n * Analysis specified is not deletable.\n * ```\n *\n * The response from a successful `DELETE` operation provides you with\n * two alternative URLs for deleting the next analysis in the set\n * (see the example default response below).\n * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis\n * in the set. This is a useful option if you want to preserve at least one analysis\n * for the specified tool in your repository.\n * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool.\n * When you delete the last analysis in a set the value of `next_analysis_url` and `confirm_delete_url`\n * in the 200 response is `null`.\n *\n * As an example of the deletion process,\n * let's imagine that you added a workflow that configured a particular code scanning tool\n * to analyze the code in a repository. This tool has added 15 analyses:\n * 10 on the default branch, and another 5 on a topic branch.\n * You therefore have two separate sets of analyses for this tool.\n * You've now decided that you want to remove all of the analyses for the tool.\n * To do this you must make 15 separate deletion requests.\n * To start, you must find the deletable analysis for one of the sets,\n * step through deleting the analyses in that set,\n * and then repeat the process for the second set.\n * The procedure therefore consists of a nested loop:\n *\n * **Outer loop**:\n * * List the analyses for the repository, filtered by tool.\n * * Parse this list to find a deletable analysis. If found:\n *\n *   **Inner loop**:\n *   * Delete the identified analysis.\n *   * Parse the response for the value of `next_analysis_url` and, if found, use this in the next iteration.\n *\n * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `next_analysis_url` value. Alternatively, you could use the `confirm_delete_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.\n */\nexport const useCodeScanningDeleteAnalysis = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.CodeScanningAnalysisDeletion,\n      CodeScanningDeleteAnalysisError,\n      CodeScanningDeleteAnalysisVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.CodeScanningAnalysisDeletion,\n    CodeScanningDeleteAnalysisError,\n    CodeScanningDeleteAnalysisVariables\n  >(\n    (variables: CodeScanningDeleteAnalysisVariables) =>\n      fetchCodeScanningDeleteAnalysis({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type CodeScanningGetAnalysisPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation.\n   */\n  analysisId: number;\n};\n\nexport type CodeScanningGetAnalysisError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.CodeScanningForbiddenRead;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type CodeScanningGetAnalysisVariables = {\n  pathParams: CodeScanningGetAnalysisPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specified code scanning analysis for a repository.\n * You must use an access token with the `security_events` scope to use this endpoint.\n * GitHub Apps must have the `security_events` read permission to use this endpoint.\n *\n * The default JSON response contains fields that describe the analysis.\n * This includes the Git reference and commit SHA to which the analysis relates,\n * the datetime of the analysis, the name of the code scanning tool,\n * and the number of alerts.\n *\n * The `rules_count` field in the default response give the number of rules\n * that were run in the analysis.\n * For very old analyses this data is not available,\n * and `0` is returned in this field.\n *\n * If you use the Accept header `application/sarif+json`,\n * the response contains the analysis data that was uploaded.\n * This is formatted as\n * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html).\n * For an example response, see \"[Custom media type for code scanning](#custom-media-type-for-code-scanning).\"\n *\n * **Deprecation notice**:\n * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field.\n */\nexport const fetchCodeScanningGetAnalysis = (\n  variables: CodeScanningGetAnalysisVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CodeScanningAnalysis,\n    CodeScanningGetAnalysisError,\n    undefined,\n    {},\n    {},\n    CodeScanningGetAnalysisPathParams\n  >({\n    url: '/repos/{owner}/{repo}/code-scanning/analyses/{analysisId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specified code scanning analysis for a repository.\n * You must use an access token with the `security_events` scope to use this endpoint.\n * GitHub Apps must have the `security_events` read permission to use this endpoint.\n *\n * The default JSON response contains fields that describe the analysis.\n * This includes the Git reference and commit SHA to which the analysis relates,\n * the datetime of the analysis, the name of the code scanning tool,\n * and the number of alerts.\n *\n * The `rules_count` field in the default response give the number of rules\n * that were run in the analysis.\n * For very old analyses this data is not available,\n * and `0` is returned in this field.\n *\n * If you use the Accept header `application/sarif+json`,\n * the response contains the analysis data that was uploaded.\n * This is formatted as\n * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html).\n * For an example response, see \"[Custom media type for code scanning](#custom-media-type-for-code-scanning).\"\n *\n * **Deprecation notice**:\n * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field.\n */\nexport const useCodeScanningGetAnalysis = <\n  TData = Schemas.CodeScanningAnalysis,\n>(\n  variables: CodeScanningGetAnalysisVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CodeScanningAnalysis,\n      CodeScanningGetAnalysisError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.CodeScanningAnalysis,\n    CodeScanningGetAnalysisError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}',\n      operationId: 'codeScanningGetAnalysis',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchCodeScanningGetAnalysis({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type CodeScanningUploadSarifPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type CodeScanningUploadSarifError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.CodeScanningForbiddenWrite;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type CodeScanningUploadSarifRequestBody = {\n  /**\n   * The base directory used in the analysis, as it appears in the SARIF file.\n   * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository.\n   *\n   * @example file:///github/workspace/\n   * @format uri\n   */\n  checkout_uri?: string;\n  commit_sha: Schemas.CodeScanningAnalysisCommitSha;\n  ref: Schemas.CodeScanningRef;\n  sarif: Schemas.CodeScanningAnalysisSarifFile;\n  /**\n   * The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   *\n   * @format date\n   */\n  started_at?: string;\n  /**\n   * The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to \"API\". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`.\n   */\n  tool_name?: string;\n};\n\nexport type CodeScanningUploadSarifVariables = {\n  body: CodeScanningUploadSarifRequestBody;\n  pathParams: CodeScanningUploadSarifPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint.\n *\n * There are two places where you can upload code scanning results.\n *  - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see \"[Triaging code scanning alerts in pull requests](/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests).\"\n *  - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see \"[Managing code scanning alerts for your repository](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository).\"\n *\n * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example:\n *\n * ```\n * gzip -c analysis-data.sarif | base64\n * ```\n *\n * SARIF upload supports a maximum of 1000 results per analysis run. Any results over this limit are ignored. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries.\n *\n * The `202 Accepted`, response includes an `id` value.\n * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint.\n * For more information, see \"[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload).\"\n */\nexport const fetchCodeScanningUploadSarif = (\n  variables: CodeScanningUploadSarifVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CodeScanningSarifsReceipt,\n    CodeScanningUploadSarifError,\n    CodeScanningUploadSarifRequestBody,\n    {},\n    {},\n    CodeScanningUploadSarifPathParams\n  >({\n    url: '/repos/{owner}/{repo}/code-scanning/sarifs',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` write permission to use this endpoint.\n *\n * There are two places where you can upload code scanning results.\n *  - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see \"[Triaging code scanning alerts in pull requests](/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests).\"\n *  - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see \"[Managing code scanning alerts for your repository](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository).\"\n *\n * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example:\n *\n * ```\n * gzip -c analysis-data.sarif | base64\n * ```\n *\n * SARIF upload supports a maximum of 1000 results per analysis run. Any results over this limit are ignored. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries.\n *\n * The `202 Accepted`, response includes an `id` value.\n * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint.\n * For more information, see \"[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload).\"\n */\nexport const useCodeScanningUploadSarif = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.CodeScanningSarifsReceipt,\n      CodeScanningUploadSarifError,\n      CodeScanningUploadSarifVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.CodeScanningSarifsReceipt,\n    CodeScanningUploadSarifError,\n    CodeScanningUploadSarifVariables\n  >(\n    (variables: CodeScanningUploadSarifVariables) =>\n      fetchCodeScanningUploadSarif({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type CodeScanningGetSarifPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The SARIF ID obtained after uploading.\n   */\n  sarifId: string;\n};\n\nexport type CodeScanningGetSarifError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.CodeScanningForbiddenRead;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type CodeScanningGetSarifVariables = {\n  pathParams: CodeScanningGetSarifPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see \"[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository).\" You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.\n */\nexport const fetchCodeScanningGetSarif = (\n  variables: CodeScanningGetSarifVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CodeScanningSarifsStatus,\n    CodeScanningGetSarifError,\n    undefined,\n    {},\n    {},\n    CodeScanningGetSarifPathParams\n  >({\n    url: '/repos/{owner}/{repo}/code-scanning/sarifs/{sarifId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see \"[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository).\" You must use an access token with the `security_events` scope to use this endpoint. GitHub Apps must have the `security_events` read permission to use this endpoint.\n */\nexport const useCodeScanningGetSarif = <\n  TData = Schemas.CodeScanningSarifsStatus,\n>(\n  variables: CodeScanningGetSarifVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CodeScanningSarifsStatus,\n      CodeScanningGetSarifError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.CodeScanningSarifsStatus,\n    CodeScanningGetSarifError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}',\n      operationId: 'codeScanningGetSarif',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchCodeScanningGetSarif({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListCollaboratorsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListCollaboratorsQueryParams = {\n  /**\n   * Filter collaborators returned by their affiliation. Can be one of:\n   * \\* `outside`: All outside collaborators of an organization-owned repository.\n   * \\* `direct`: All collaborators with permissions to an organization-owned repository, regardless of organization membership status.\n   * \\* `all`: All collaborators the authenticated user can see.\n   *\n   * @default all\n   */\n  affiliation?: 'outside' | 'direct' | 'all';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListCollaboratorsError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposListCollaboratorsResponse = Schemas.Collaborator[];\n\nexport type ReposListCollaboratorsVariables = {\n  pathParams: ReposListCollaboratorsPathParams;\n  queryParams?: ReposListCollaboratorsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.\n *\n * Team members will include the members of child teams.\n */\nexport const fetchReposListCollaborators = (\n  variables: ReposListCollaboratorsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListCollaboratorsResponse,\n    ReposListCollaboratorsError,\n    undefined,\n    {},\n    ReposListCollaboratorsQueryParams,\n    ReposListCollaboratorsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/collaborators',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.\n *\n * Team members will include the members of child teams.\n */\nexport const useReposListCollaborators = <\n  TData = ReposListCollaboratorsResponse,\n>(\n  variables: ReposListCollaboratorsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListCollaboratorsResponse,\n      ReposListCollaboratorsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListCollaboratorsResponse,\n    ReposListCollaboratorsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/collaborators',\n      operationId: 'reposListCollaborators',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListCollaborators({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposRemoveCollaboratorPathParams = {\n  owner: string;\n  repo: string;\n  username: string;\n};\n\nexport type ReposRemoveCollaboratorError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposRemoveCollaboratorVariables = {\n  pathParams: ReposRemoveCollaboratorPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposRemoveCollaborator = (\n  variables: ReposRemoveCollaboratorVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposRemoveCollaboratorError,\n    undefined,\n    {},\n    {},\n    ReposRemoveCollaboratorPathParams\n  >({\n    url: '/repos/{owner}/{repo}/collaborators/{username}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useReposRemoveCollaborator = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposRemoveCollaboratorError,\n      ReposRemoveCollaboratorVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposRemoveCollaboratorError,\n    ReposRemoveCollaboratorVariables\n  >(\n    (variables: ReposRemoveCollaboratorVariables) =>\n      fetchReposRemoveCollaborator({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposCheckCollaboratorPathParams = {\n  owner: string;\n  repo: string;\n  username: string;\n};\n\nexport type ReposCheckCollaboratorError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposCheckCollaboratorVariables = {\n  pathParams: ReposCheckCollaboratorPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.\n *\n * Team members will include the members of child teams.\n */\nexport const fetchReposCheckCollaborator = (\n  variables: ReposCheckCollaboratorVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposCheckCollaboratorError,\n    undefined,\n    {},\n    {},\n    ReposCheckCollaboratorPathParams\n  >({\n    url: '/repos/{owner}/{repo}/collaborators/{username}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.\n *\n * Team members will include the members of child teams.\n */\nexport const useReposCheckCollaborator = <TData = undefined>(\n  variables: ReposCheckCollaboratorVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<undefined, ReposCheckCollaboratorError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<undefined, ReposCheckCollaboratorError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/collaborators/{username}',\n      operationId: 'reposCheckCollaborator',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposCheckCollaborator({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposAddCollaboratorPathParams = {\n  owner: string;\n  repo: string;\n  username: string;\n};\n\nexport type ReposAddCollaboratorError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposAddCollaboratorRequestBody = {\n  /**\n   * The permission to grant the collaborator. **Only valid on organization-owned repositories.** Can be one of:\n   * \\* `pull` - can pull, but not push to or administer this repository.\n   * \\* `push` - can pull and push, but not administer this repository.\n   * \\* `admin` - can pull, push and administer this repository.\n   * \\* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.\n   * \\* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.\n   *\n   * @default push\n   */\n  permission?: 'pull' | 'push' | 'admin' | 'maintain' | 'triage';\n  /**\n   * @example \"push\"\n   */\n  permissions?: string;\n};\n\nexport type ReposAddCollaboratorVariables = {\n  body?: ReposAddCollaboratorRequestBody;\n  pathParams: ReposAddCollaboratorPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n *\n * For more information the permission levels, see \"[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)\".\n *\n * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n *\n * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations).\n *\n * **Rate limits**\n *\n * To prevent abuse, you are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository.\n */\nexport const fetchReposAddCollaborator = (\n  variables: ReposAddCollaboratorVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RepositoryInvitation,\n    ReposAddCollaboratorError,\n    ReposAddCollaboratorRequestBody,\n    {},\n    {},\n    ReposAddCollaboratorPathParams\n  >({\n    url: '/repos/{owner}/{repo}/collaborators/{username}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n *\n * For more information the permission levels, see \"[Repository permission levels for an organization](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)\".\n *\n * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n *\n * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations).\n *\n * **Rate limits**\n *\n * To prevent abuse, you are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository.\n */\nexport const useReposAddCollaborator = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.RepositoryInvitation,\n      ReposAddCollaboratorError,\n      ReposAddCollaboratorVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.RepositoryInvitation,\n    ReposAddCollaboratorError,\n    ReposAddCollaboratorVariables\n  >(\n    (variables: ReposAddCollaboratorVariables) =>\n      fetchReposAddCollaborator({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetCollaboratorPermissionLevelPathParams = {\n  owner: string;\n  repo: string;\n  username: string;\n};\n\nexport type ReposGetCollaboratorPermissionLevelError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetCollaboratorPermissionLevelVariables = {\n  pathParams: ReposGetCollaboratorPermissionLevelPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`.\n */\nexport const fetchReposGetCollaboratorPermissionLevel = (\n  variables: ReposGetCollaboratorPermissionLevelVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RepositoryCollaboratorPermission,\n    ReposGetCollaboratorPermissionLevelError,\n    undefined,\n    {},\n    {},\n    ReposGetCollaboratorPermissionLevelPathParams\n  >({\n    url: '/repos/{owner}/{repo}/collaborators/{username}/permission',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`.\n */\nexport const useReposGetCollaboratorPermissionLevel = <\n  TData = Schemas.RepositoryCollaboratorPermission,\n>(\n  variables: ReposGetCollaboratorPermissionLevelVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.RepositoryCollaboratorPermission,\n      ReposGetCollaboratorPermissionLevelError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.RepositoryCollaboratorPermission,\n    ReposGetCollaboratorPermissionLevelError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/collaborators/{username}/permission',\n      operationId: 'reposGetCollaboratorPermissionLevel',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetCollaboratorPermissionLevel(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListCommitCommentsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListCommitCommentsForRepoQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListCommitCommentsForRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposListCommitCommentsForRepoResponse = Schemas.CommitComment[];\n\nexport type ReposListCommitCommentsForRepoVariables = {\n  pathParams: ReposListCommitCommentsForRepoPathParams;\n  queryParams?: ReposListCommitCommentsForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/).\n *\n * Comments are ordered by ascending ID.\n */\nexport const fetchReposListCommitCommentsForRepo = (\n  variables: ReposListCommitCommentsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListCommitCommentsForRepoResponse,\n    ReposListCommitCommentsForRepoError,\n    undefined,\n    {},\n    ReposListCommitCommentsForRepoQueryParams,\n    ReposListCommitCommentsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/comments',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/).\n *\n * Comments are ordered by ascending ID.\n */\nexport const useReposListCommitCommentsForRepo = <\n  TData = ReposListCommitCommentsForRepoResponse,\n>(\n  variables: ReposListCommitCommentsForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListCommitCommentsForRepoResponse,\n      ReposListCommitCommentsForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListCommitCommentsForRepoResponse,\n    ReposListCommitCommentsForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/comments',\n      operationId: 'reposListCommitCommentsForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListCommitCommentsForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposDeleteCommitCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type ReposDeleteCommitCommentError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposDeleteCommitCommentVariables = {\n  pathParams: ReposDeleteCommitCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposDeleteCommitComment = (\n  variables: ReposDeleteCommitCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteCommitCommentError,\n    undefined,\n    {},\n    {},\n    ReposDeleteCommitCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/comments/{commentId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useReposDeleteCommitComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteCommitCommentError,\n      ReposDeleteCommitCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteCommitCommentError,\n    ReposDeleteCommitCommentVariables\n  >(\n    (variables: ReposDeleteCommitCommentVariables) =>\n      fetchReposDeleteCommitComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetCommitCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type ReposGetCommitCommentError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetCommitCommentVariables = {\n  pathParams: ReposGetCommitCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposGetCommitComment = (\n  variables: ReposGetCommitCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CommitComment,\n    ReposGetCommitCommentError,\n    undefined,\n    {},\n    {},\n    ReposGetCommitCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/comments/{commentId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposGetCommitComment = <TData = Schemas.CommitComment>(\n  variables: ReposGetCommitCommentVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CommitComment,\n      ReposGetCommitCommentError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.CommitComment,\n    ReposGetCommitCommentError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/comments/{comment_id}',\n      operationId: 'reposGetCommitComment',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetCommitComment({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposUpdateCommitCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type ReposUpdateCommitCommentError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposUpdateCommitCommentRequestBody = {\n  /**\n   * The contents of the comment\n   */\n  body: string;\n};\n\nexport type ReposUpdateCommitCommentVariables = {\n  body: ReposUpdateCommitCommentRequestBody;\n  pathParams: ReposUpdateCommitCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposUpdateCommitComment = (\n  variables: ReposUpdateCommitCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CommitComment,\n    ReposUpdateCommitCommentError,\n    ReposUpdateCommitCommentRequestBody,\n    {},\n    {},\n    ReposUpdateCommitCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/comments/{commentId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\nexport const useReposUpdateCommitComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.CommitComment,\n      ReposUpdateCommitCommentError,\n      ReposUpdateCommitCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.CommitComment,\n    ReposUpdateCommitCommentError,\n    ReposUpdateCommitCommentVariables\n  >(\n    (variables: ReposUpdateCommitCommentVariables) =>\n      fetchReposUpdateCommitComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReactionsListForCommitCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type ReactionsListForCommitCommentQueryParams = {\n  /**\n   * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment.\n   */\n  content?:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReactionsListForCommitCommentError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type ReactionsListForCommitCommentResponse = Schemas.Reaction[];\n\nexport type ReactionsListForCommitCommentVariables = {\n  pathParams: ReactionsListForCommitCommentPathParams;\n  queryParams?: ReactionsListForCommitCommentQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments).\n */\nexport const fetchReactionsListForCommitComment = (\n  variables: ReactionsListForCommitCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReactionsListForCommitCommentResponse,\n    ReactionsListForCommitCommentError,\n    undefined,\n    {},\n    ReactionsListForCommitCommentQueryParams,\n    ReactionsListForCommitCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/comments/{commentId}/reactions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments).\n */\nexport const useReactionsListForCommitComment = <\n  TData = ReactionsListForCommitCommentResponse,\n>(\n  variables: ReactionsListForCommitCommentVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReactionsListForCommitCommentResponse,\n      ReactionsListForCommitCommentError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReactionsListForCommitCommentResponse,\n    ReactionsListForCommitCommentError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/comments/{comment_id}/reactions',\n      operationId: 'reactionsListForCommitComment',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReactionsListForCommitComment(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReactionsCreateForCommitCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type ReactionsCreateForCommitCommentError = Fetcher.ErrorWrapper<\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReactionsCreateForCommitCommentRequestBody = {\n  /**\n   * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment.\n   */\n  content:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n};\n\nexport type ReactionsCreateForCommitCommentVariables = {\n  body: ReactionsCreateForCommitCommentRequestBody;\n  pathParams: ReactionsCreateForCommitCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this commit comment.\n */\nexport const fetchReactionsCreateForCommitComment = (\n  variables: ReactionsCreateForCommitCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Reaction,\n    ReactionsCreateForCommitCommentError,\n    ReactionsCreateForCommitCommentRequestBody,\n    {},\n    {},\n    ReactionsCreateForCommitCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/comments/{commentId}/reactions',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this commit comment.\n */\nexport const useReactionsCreateForCommitComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Reaction,\n      ReactionsCreateForCommitCommentError,\n      ReactionsCreateForCommitCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Reaction,\n    ReactionsCreateForCommitCommentError,\n    ReactionsCreateForCommitCommentVariables\n  >(\n    (variables: ReactionsCreateForCommitCommentVariables) =>\n      fetchReactionsCreateForCommitComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReactionsDeleteForCommitCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n  reactionId: number;\n};\n\nexport type ReactionsDeleteForCommitCommentError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsDeleteForCommitCommentVariables = {\n  pathParams: ReactionsDeleteForCommitCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`.\n *\n * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments).\n */\nexport const fetchReactionsDeleteForCommitComment = (\n  variables: ReactionsDeleteForCommitCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReactionsDeleteForCommitCommentError,\n    undefined,\n    {},\n    {},\n    ReactionsDeleteForCommitCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/comments/{commentId}/reactions/{reactionId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`.\n *\n * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments).\n */\nexport const useReactionsDeleteForCommitComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReactionsDeleteForCommitCommentError,\n      ReactionsDeleteForCommitCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReactionsDeleteForCommitCommentError,\n    ReactionsDeleteForCommitCommentVariables\n  >(\n    (variables: ReactionsDeleteForCommitCommentVariables) =>\n      fetchReactionsDeleteForCommitComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposListCommitsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListCommitsQueryParams = {\n  /**\n   * SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`).\n   */\n  sha?: string;\n  /**\n   * Only commits containing this file path will be returned.\n   */\n  path?: string;\n  /**\n   * GitHub login or email address by which to filter by commit author.\n   */\n  author?: string;\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  until?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * legacy parameter for pagination.\n   */\n  top?: string;\n  /**\n   * legacy parameter for pagination.\n   */\n  last_sha?: string;\n};\n\nexport type ReposListCommitsError = Fetcher.ErrorWrapper<\n  | {\n      status: 400;\n      payload: Responses.BadRequest;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 409;\n      payload: Responses.Conflict;\n    }\n  | {\n      status: 500;\n      payload: Responses.InternalError;\n    }\n>;\n\nexport type ReposListCommitsResponse = Schemas.Commit[];\n\nexport type ReposListCommitsVariables = {\n  pathParams: ReposListCommitsPathParams;\n  queryParams?: ReposListCommitsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const fetchReposListCommits = (\n  variables: ReposListCommitsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListCommitsResponse,\n    ReposListCommitsError,\n    undefined,\n    {},\n    ReposListCommitsQueryParams,\n    ReposListCommitsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/commits',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const useReposListCommits = <TData = ReposListCommitsResponse>(\n  variables: ReposListCommitsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListCommitsResponse,\n      ReposListCommitsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListCommitsResponse,\n    ReposListCommitsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/commits',\n      operationId: 'reposListCommits',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListCommits({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListBranchesForHeadCommitPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * commit_sha parameter\n   */\n  commitSha: string;\n};\n\nexport type ReposListBranchesForHeadCommitError = Fetcher.ErrorWrapper<\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposListBranchesForHeadCommitResponse = Schemas.BranchShort[];\n\nexport type ReposListBranchesForHeadCommitVariables = {\n  pathParams: ReposListBranchesForHeadCommitPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch.\n */\nexport const fetchReposListBranchesForHeadCommit = (\n  variables: ReposListBranchesForHeadCommitVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListBranchesForHeadCommitResponse,\n    ReposListBranchesForHeadCommitError,\n    undefined,\n    {},\n    {},\n    ReposListBranchesForHeadCommitPathParams\n  >({\n    url: '/repos/{owner}/{repo}/commits/{commitSha}/branches-where-head',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch.\n */\nexport const useReposListBranchesForHeadCommit = <\n  TData = ReposListBranchesForHeadCommitResponse,\n>(\n  variables: ReposListBranchesForHeadCommitVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListBranchesForHeadCommitResponse,\n      ReposListBranchesForHeadCommitError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListBranchesForHeadCommitResponse,\n    ReposListBranchesForHeadCommitError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head',\n      operationId: 'reposListBranchesForHeadCommit',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListBranchesForHeadCommit(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListCommentsForCommitPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * commit_sha parameter\n   */\n  commitSha: string;\n};\n\nexport type ReposListCommentsForCommitQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListCommentsForCommitError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposListCommentsForCommitResponse = Schemas.CommitComment[];\n\nexport type ReposListCommentsForCommitVariables = {\n  pathParams: ReposListCommentsForCommitPathParams;\n  queryParams?: ReposListCommentsForCommitQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Use the `:commit_sha` to specify the commit that will have its comments listed.\n */\nexport const fetchReposListCommentsForCommit = (\n  variables: ReposListCommentsForCommitVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListCommentsForCommitResponse,\n    ReposListCommentsForCommitError,\n    undefined,\n    {},\n    ReposListCommentsForCommitQueryParams,\n    ReposListCommentsForCommitPathParams\n  >({\n    url: '/repos/{owner}/{repo}/commits/{commitSha}/comments',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Use the `:commit_sha` to specify the commit that will have its comments listed.\n */\nexport const useReposListCommentsForCommit = <\n  TData = ReposListCommentsForCommitResponse,\n>(\n  variables: ReposListCommentsForCommitVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListCommentsForCommitResponse,\n      ReposListCommentsForCommitError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListCommentsForCommitResponse,\n    ReposListCommentsForCommitError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/commits/{commit_sha}/comments',\n      operationId: 'reposListCommentsForCommit',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListCommentsForCommit(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateCommitCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * commit_sha parameter\n   */\n  commitSha: string;\n};\n\nexport type ReposCreateCommitCommentError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposCreateCommitCommentRequestBody = {\n  /**\n   * The contents of the comment.\n   */\n  body: string;\n  /**\n   * **Deprecated**. Use **position** parameter instead. Line number in the file to comment on.\n   */\n  line?: number;\n  /**\n   * Relative path of the file to comment on.\n   */\n  path?: string;\n  /**\n   * Line index in the diff to comment on.\n   */\n  position?: number;\n};\n\nexport type ReposCreateCommitCommentVariables = {\n  body: ReposCreateCommitCommentRequestBody;\n  pathParams: ReposCreateCommitCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Create a comment for a commit using its `:commit_sha`.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const fetchReposCreateCommitComment = (\n  variables: ReposCreateCommitCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CommitComment,\n    ReposCreateCommitCommentError,\n    ReposCreateCommitCommentRequestBody,\n    {},\n    {},\n    ReposCreateCommitCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/commits/{commitSha}/comments',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Create a comment for a commit using its `:commit_sha`.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const useReposCreateCommitComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.CommitComment,\n      ReposCreateCommitCommentError,\n      ReposCreateCommitCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.CommitComment,\n    ReposCreateCommitCommentError,\n    ReposCreateCommitCommentVariables\n  >(\n    (variables: ReposCreateCommitCommentVariables) =>\n      fetchReposCreateCommitComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposListPullRequestsAssociatedWithCommitPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * commit_sha parameter\n   */\n  commitSha: string;\n};\n\nexport type ReposListPullRequestsAssociatedWithCommitQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListPullRequestsAssociatedWithCommitError =\n  Fetcher.ErrorWrapper<{\n    status: 415;\n    payload: Responses.PreviewHeaderMissing;\n  }>;\n\nexport type ReposListPullRequestsAssociatedWithCommitResponse =\n  Schemas.PullRequestSimple[];\n\nexport type ReposListPullRequestsAssociatedWithCommitVariables = {\n  pathParams: ReposListPullRequestsAssociatedWithCommitPathParams;\n  queryParams?: ReposListPullRequestsAssociatedWithCommitQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all pull requests containing the provided commit SHA, which can be from any point in the commit history. The results will include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint.\n */\nexport const fetchReposListPullRequestsAssociatedWithCommit = (\n  variables: ReposListPullRequestsAssociatedWithCommitVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListPullRequestsAssociatedWithCommitResponse,\n    ReposListPullRequestsAssociatedWithCommitError,\n    undefined,\n    {},\n    ReposListPullRequestsAssociatedWithCommitQueryParams,\n    ReposListPullRequestsAssociatedWithCommitPathParams\n  >({\n    url: '/repos/{owner}/{repo}/commits/{commitSha}/pulls',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all pull requests containing the provided commit SHA, which can be from any point in the commit history. The results will include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the [List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests) endpoint.\n */\nexport const useReposListPullRequestsAssociatedWithCommit = <\n  TData = ReposListPullRequestsAssociatedWithCommitResponse,\n>(\n  variables: ReposListPullRequestsAssociatedWithCommitVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListPullRequestsAssociatedWithCommitResponse,\n      ReposListPullRequestsAssociatedWithCommitError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListPullRequestsAssociatedWithCommitResponse,\n    ReposListPullRequestsAssociatedWithCommitError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/commits/{commit_sha}/pulls',\n      operationId: 'reposListPullRequestsAssociatedWithCommit',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListPullRequestsAssociatedWithCommit(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetCommitPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * ref parameter\n   */\n  ref: string;\n};\n\nexport type ReposGetCommitQueryParams = {\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n};\n\nexport type ReposGetCommitError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n  | {\n      status: 500;\n      payload: Responses.InternalError;\n    }\n>;\n\nexport type ReposGetCommitVariables = {\n  pathParams: ReposGetCommitPathParams;\n  queryParams?: ReposGetCommitQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint.\n *\n * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing.\n *\n * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to  fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property.\n *\n * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag.\n *\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const fetchReposGetCommit = (\n  variables: ReposGetCommitVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Commit,\n    ReposGetCommitError,\n    undefined,\n    {},\n    ReposGetCommitQueryParams,\n    ReposGetCommitPathParams\n  >({\n    url: '/repos/{owner}/{repo}/commits/{ref}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint.\n *\n * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing.\n *\n * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to  fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property.\n *\n * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag.\n *\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const useReposGetCommit = <TData = Schemas.Commit>(\n  variables: ReposGetCommitVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.Commit, ReposGetCommitError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Commit, ReposGetCommitError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/commits/{ref}',\n      operationId: 'reposGetCommit',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetCommit({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ChecksListForRefPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * ref parameter\n   */\n  ref: string;\n};\n\nexport type ChecksListForRefQueryParams = {\n  /**\n   * Returns check runs with the specified `name`.\n   */\n  check_name?: string;\n  /**\n   * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`.\n   */\n  status?: 'queued' | 'in_progress' | 'completed';\n  /**\n   * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`.\n   *\n   * @default latest\n   */\n  filter?: 'latest' | 'all';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  app_id?: number;\n};\n\nexport type ChecksListForRefError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ChecksListForRefResponse = {\n  check_runs: Schemas.CheckRun[];\n  total_count: number;\n};\n\nexport type ChecksListForRefVariables = {\n  pathParams: ChecksListForRefPathParams;\n  queryParams?: ChecksListForRefQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n *\n * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.\n */\nexport const fetchChecksListForRef = (\n  variables: ChecksListForRefVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ChecksListForRefResponse,\n    ChecksListForRefError,\n    undefined,\n    {},\n    ChecksListForRefQueryParams,\n    ChecksListForRefPathParams\n  >({\n    url: '/repos/{owner}/{repo}/commits/{ref}/check-runs',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.\n *\n * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.\n */\nexport const useChecksListForRef = <TData = ChecksListForRefResponse>(\n  variables: ChecksListForRefVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ChecksListForRefResponse,\n      ChecksListForRefError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ChecksListForRefResponse,\n    ChecksListForRefError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/commits/{ref}/check-runs',\n      operationId: 'checksListForRef',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchChecksListForRef({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ChecksListSuitesForRefPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * ref parameter\n   */\n  ref: string;\n};\n\nexport type ChecksListSuitesForRefQueryParams = {\n  /**\n   * Filters check suites by GitHub App `id`.\n   */\n  app_id?: number;\n  /**\n   * Returns check runs with the specified `name`.\n   */\n  check_name?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ChecksListSuitesForRefError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ChecksListSuitesForRefResponse = {\n  check_suites: Schemas.CheckSuite[];\n  total_count: number;\n};\n\nexport type ChecksListSuitesForRefVariables = {\n  pathParams: ChecksListSuitesForRefPathParams;\n  queryParams?: ChecksListSuitesForRefQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n *\n * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository.\n */\nexport const fetchChecksListSuitesForRef = (\n  variables: ChecksListSuitesForRefVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ChecksListSuitesForRefResponse,\n    ChecksListSuitesForRefError,\n    undefined,\n    {},\n    ChecksListSuitesForRefQueryParams,\n    ChecksListSuitesForRefPathParams\n  >({\n    url: '/repos/{owner}/{repo}/commits/{ref}/check-suites',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.\n *\n * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository.\n */\nexport const useChecksListSuitesForRef = <\n  TData = ChecksListSuitesForRefResponse,\n>(\n  variables: ChecksListSuitesForRefVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ChecksListSuitesForRefResponse,\n      ChecksListSuitesForRefError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ChecksListSuitesForRefResponse,\n    ChecksListSuitesForRefError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/commits/{ref}/check-suites',\n      operationId: 'checksListSuitesForRef',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchChecksListSuitesForRef({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetCombinedStatusForRefPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * ref parameter\n   */\n  ref: string;\n};\n\nexport type ReposGetCombinedStatusForRefQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposGetCombinedStatusForRefError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetCombinedStatusForRefVariables = {\n  pathParams: ReposGetCombinedStatusForRefPathParams;\n  queryParams?: ReposGetCombinedStatusForRefQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name.\n *\n * The most recent status for each context is returned, up to 100. This field [paginates](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination) if there are over 100 contexts.\n *\n * Additionally, a combined `state` is returned. The `state` is one of:\n *\n * *   **failure** if any of the contexts report as `error` or `failure`\n * *   **pending** if there are no statuses or a context is `pending`\n * *   **success** if the latest status for all contexts is `success`\n */\nexport const fetchReposGetCombinedStatusForRef = (\n  variables: ReposGetCombinedStatusForRefVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CombinedCommitStatus,\n    ReposGetCombinedStatusForRefError,\n    undefined,\n    {},\n    ReposGetCombinedStatusForRefQueryParams,\n    ReposGetCombinedStatusForRefPathParams\n  >({\n    url: '/repos/{owner}/{repo}/commits/{ref}/status',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name.\n *\n * The most recent status for each context is returned, up to 100. This field [paginates](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination) if there are over 100 contexts.\n *\n * Additionally, a combined `state` is returned. The `state` is one of:\n *\n * *   **failure** if any of the contexts report as `error` or `failure`\n * *   **pending** if there are no statuses or a context is `pending`\n * *   **success** if the latest status for all contexts is `success`\n */\nexport const useReposGetCombinedStatusForRef = <\n  TData = Schemas.CombinedCommitStatus,\n>(\n  variables: ReposGetCombinedStatusForRefVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CombinedCommitStatus,\n      ReposGetCombinedStatusForRefError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.CombinedCommitStatus,\n    ReposGetCombinedStatusForRefError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/commits/{ref}/status',\n      operationId: 'reposGetCombinedStatusForRef',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetCombinedStatusForRef(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListCommitStatusesForRefPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * ref parameter\n   */\n  ref: string;\n};\n\nexport type ReposListCommitStatusesForRefQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListCommitStatusesForRefError = Fetcher.ErrorWrapper<{\n  status: 301;\n  payload: Responses.MovedPermanently;\n}>;\n\nexport type ReposListCommitStatusesForRefResponse = Schemas.Status[];\n\nexport type ReposListCommitStatusesForRefVariables = {\n  pathParams: ReposListCommitStatusesForRefPathParams;\n  queryParams?: ReposListCommitStatusesForRefQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one.\n *\n * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`.\n */\nexport const fetchReposListCommitStatusesForRef = (\n  variables: ReposListCommitStatusesForRefVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListCommitStatusesForRefResponse,\n    ReposListCommitStatusesForRefError,\n    undefined,\n    {},\n    ReposListCommitStatusesForRefQueryParams,\n    ReposListCommitStatusesForRefPathParams\n  >({\n    url: '/repos/{owner}/{repo}/commits/{ref}/statuses',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one.\n *\n * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`.\n */\nexport const useReposListCommitStatusesForRef = <\n  TData = ReposListCommitStatusesForRefResponse,\n>(\n  variables: ReposListCommitStatusesForRefVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListCommitStatusesForRefResponse,\n      ReposListCommitStatusesForRefError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListCommitStatusesForRefResponse,\n    ReposListCommitStatusesForRefError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/commits/{ref}/statuses',\n      operationId: 'reposListCommitStatusesForRef',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListCommitStatusesForRef(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type CodesOfConductGetForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type CodesOfConductGetForRepoError = Fetcher.ErrorWrapper<undefined>;\n\nexport type CodesOfConductGetForRepoVariables = {\n  pathParams: CodesOfConductGetForRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns the contents of the repository's code of conduct file, if one is detected.\n *\n * A code of conduct is detected if there is a file named `CODE_OF_CONDUCT` in the root directory of the repository. GitHub detects which code of conduct it is using fuzzy matching.\n */\nexport const fetchCodesOfConductGetForRepo = (\n  variables: CodesOfConductGetForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CodeOfConduct,\n    CodesOfConductGetForRepoError,\n    undefined,\n    {},\n    {},\n    CodesOfConductGetForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/community/code_of_conduct',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns the contents of the repository's code of conduct file, if one is detected.\n *\n * A code of conduct is detected if there is a file named `CODE_OF_CONDUCT` in the root directory of the repository. GitHub detects which code of conduct it is using fuzzy matching.\n */\nexport const useCodesOfConductGetForRepo = <TData = Schemas.CodeOfConduct>(\n  variables: CodesOfConductGetForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CodeOfConduct,\n      CodesOfConductGetForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.CodeOfConduct,\n    CodesOfConductGetForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/community/code_of_conduct',\n      operationId: 'codesOfConductGetForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchCodesOfConductGetForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetCommunityProfileMetricsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetCommunityProfileMetricsError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetCommunityProfileMetricsVariables = {\n  pathParams: ReposGetCommunityProfileMetricsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This endpoint will return all community profile metrics, including an\n * overall health score, repository description, the presence of documentation, detected\n * code of conduct, detected license, and the presence of ISSUE\\_TEMPLATE, PULL\\_REQUEST\\_TEMPLATE,\n * README, and CONTRIBUTING files.\n *\n * The `health_percentage` score is defined as a percentage of how many of\n * these four documents are present: README, CONTRIBUTING, LICENSE, and\n * CODE_OF_CONDUCT. For example, if all four documents are present, then\n * the `health_percentage` is `100`. If only one is present, then the\n * `health_percentage` is `25`.\n *\n * `content_reports_enabled` is only returned for organization-owned repositories.\n */\nexport const fetchReposGetCommunityProfileMetrics = (\n  variables: ReposGetCommunityProfileMetricsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CommunityProfile,\n    ReposGetCommunityProfileMetricsError,\n    undefined,\n    {},\n    {},\n    ReposGetCommunityProfileMetricsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/community/profile',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * This endpoint will return all community profile metrics, including an\n * overall health score, repository description, the presence of documentation, detected\n * code of conduct, detected license, and the presence of ISSUE\\_TEMPLATE, PULL\\_REQUEST\\_TEMPLATE,\n * README, and CONTRIBUTING files.\n *\n * The `health_percentage` score is defined as a percentage of how many of\n * these four documents are present: README, CONTRIBUTING, LICENSE, and\n * CODE_OF_CONDUCT. For example, if all four documents are present, then\n * the `health_percentage` is `100`. If only one is present, then the\n * `health_percentage` is `25`.\n *\n * `content_reports_enabled` is only returned for organization-owned repositories.\n */\nexport const useReposGetCommunityProfileMetrics = <\n  TData = Schemas.CommunityProfile,\n>(\n  variables: ReposGetCommunityProfileMetricsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CommunityProfile,\n      ReposGetCommunityProfileMetricsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.CommunityProfile,\n    ReposGetCommunityProfileMetricsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/community/profile',\n      operationId: 'reposGetCommunityProfileMetrics',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetCommunityProfileMetrics(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCompareCommitsPathParams = {\n  owner: string;\n  repo: string;\n  base: string;\n  head: string;\n};\n\nexport type ReposCompareCommitsError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 500;\n      payload: Responses.InternalError;\n    }\n>;\n\nexport type ReposCompareCommitsVariables = {\n  pathParams: ReposCompareCommitsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `<USERNAME>:branch`.\n *\n * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.\n *\n * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file.\n *\n * **Working with large comparisons**\n *\n * The response will include a comparison of up to 250 commits. If you are working with a larger commit range, you can use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) to enumerate all commits in the range.\n *\n * For comparisons with extremely large diffs, you may receive an error response indicating that the diff took too long\n * to generate. You can typically resolve this error by using a smaller commit range.\n *\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const fetchReposCompareCommits = (\n  variables: ReposCompareCommitsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CommitComparison,\n    ReposCompareCommitsError,\n    undefined,\n    {},\n    {},\n    ReposCompareCommitsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/compare/{base}...{head}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `<USERNAME>:branch`.\n *\n * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.\n *\n * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file.\n *\n * **Working with large comparisons**\n *\n * The response will include a comparison of up to 250 commits. If you are working with a larger commit range, you can use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) to enumerate all commits in the range.\n *\n * For comparisons with extremely large diffs, you may receive an error response indicating that the diff took too long\n * to generate. You can typically resolve this error by using a smaller commit range.\n *\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const useReposCompareCommits = <TData = Schemas.CommitComparison>(\n  variables: ReposCompareCommitsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CommitComparison,\n      ReposCompareCommitsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.CommitComparison,\n    ReposCompareCommitsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/compare/{base}...{head}',\n      operationId: 'reposCompareCommits',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposCompareCommits({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposDeleteFilePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * path parameter\n   */\n  path: string;\n};\n\nexport type ReposDeleteFileError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 409;\n      payload: Responses.Conflict;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type ReposDeleteFileRequestBody = {\n  /**\n   * object containing information about the author.\n   */\n  author?: {\n    /**\n     * The email of the author (or committer) of the commit\n     */\n    email?: string;\n    /**\n     * The name of the author (or committer) of the commit\n     */\n    name?: string;\n  };\n  /**\n   * The branch name. Default: the repository’s default branch (usually `master`)\n   */\n  branch?: string;\n  /**\n   * object containing information about the committer.\n   */\n  committer?: {\n    /**\n     * The email of the author (or committer) of the commit\n     */\n    email?: string;\n    /**\n     * The name of the author (or committer) of the commit\n     */\n    name?: string;\n  };\n  /**\n   * The commit message.\n   */\n  message: string;\n  /**\n   * The blob SHA of the file being replaced.\n   */\n  sha: string;\n};\n\nexport type ReposDeleteFileVariables = {\n  body: ReposDeleteFileRequestBody;\n  pathParams: ReposDeleteFilePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a file in a repository.\n *\n * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author.\n *\n * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used.\n *\n * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code.\n */\nexport const fetchReposDeleteFile = (\n  variables: ReposDeleteFileVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.FileCommit,\n    ReposDeleteFileError,\n    ReposDeleteFileRequestBody,\n    {},\n    {},\n    ReposDeleteFilePathParams\n  >({\n    url: '/repos/{owner}/{repo}/contents/{path}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a file in a repository.\n *\n * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author.\n *\n * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used.\n *\n * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code.\n */\nexport const useReposDeleteFile = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.FileCommit,\n      ReposDeleteFileError,\n      ReposDeleteFileVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.FileCommit,\n    ReposDeleteFileError,\n    ReposDeleteFileVariables\n  >(\n    (variables: ReposDeleteFileVariables) =>\n      fetchReposDeleteFile({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetContentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * path parameter\n   */\n  path: string;\n};\n\nexport type ReposGetContentQueryParams = {\n  /**\n   * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`)\n   */\n  ref?: string;\n};\n\nexport type ReposGetContentError = Fetcher.ErrorWrapper<\n  | {\n      status: 302;\n      payload: Responses.Found;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type ReposGetContentVariables = {\n  pathParams: ReposGetContentPathParams;\n  queryParams?: ReposGetContentQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit\n * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.\n *\n * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for\n * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media\n * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent\n * object format.\n *\n * **Note**:\n * *   To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees).\n * *   This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees\n * API](https://docs.github.com/rest/reference/git#get-a-tree).\n * *   This API supports files up to 1 megabyte in size.\n *\n * #### If the content is a directory\n * The response will be an array of objects, one object for each item in the directory.\n * When listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\n * _should_ be \"submodule\". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW).\n * In the next major version of the API, the type will be returned as \"submodule\".\n *\n * #### If the content is a symlink\n * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the\n * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\n * describing the symlink itself.\n *\n * #### If the content is a submodule\n * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific\n * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\n * the submodule at that specific commit.\n *\n * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links[\"git\"]`) and the\n * github.com URLs (`html_url` and `_links[\"html\"]`) will have null values.\n */\nexport const fetchReposGetContent = (\n  variables: ReposGetContentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    | Schemas.ContentDirectory\n    | Schemas.ContentFile\n    | Schemas.ContentSymlink\n    | Schemas.ContentSubmodule,\n    ReposGetContentError,\n    undefined,\n    {},\n    ReposGetContentQueryParams,\n    ReposGetContentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/contents/{path}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit\n * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.\n *\n * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for\n * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media\n * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent\n * object format.\n *\n * **Note**:\n * *   To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees).\n * *   This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees\n * API](https://docs.github.com/rest/reference/git#get-a-tree).\n * *   This API supports files up to 1 megabyte in size.\n *\n * #### If the content is a directory\n * The response will be an array of objects, one object for each item in the directory.\n * When listing the contents of a directory, submodules have their \"type\" specified as \"file\". Logically, the value\n * _should_ be \"submodule\". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW).\n * In the next major version of the API, the type will be returned as \"submodule\".\n *\n * #### If the content is a symlink\n * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the\n * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object\n * describing the symlink itself.\n *\n * #### If the content is a submodule\n * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific\n * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out\n * the submodule at that specific commit.\n *\n * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links[\"git\"]`) and the\n * github.com URLs (`html_url` and `_links[\"html\"]`) will have null values.\n */\nexport const useReposGetContent = <\n  TData =\n    | Schemas.ContentDirectory\n    | Schemas.ContentFile\n    | Schemas.ContentSymlink\n    | Schemas.ContentSubmodule,\n>(\n  variables: ReposGetContentVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      | Schemas.ContentDirectory\n      | Schemas.ContentFile\n      | Schemas.ContentSymlink\n      | Schemas.ContentSubmodule,\n      ReposGetContentError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    | Schemas.ContentDirectory\n    | Schemas.ContentFile\n    | Schemas.ContentSymlink\n    | Schemas.ContentSubmodule,\n    ReposGetContentError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/contents/{path}',\n      operationId: 'reposGetContent',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetContent({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateOrUpdateFileContentsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * path parameter\n   */\n  path: string;\n};\n\nexport type ReposCreateOrUpdateFileContentsError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 409;\n      payload: Responses.Conflict;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposCreateOrUpdateFileContentsRequestBody = {\n  /**\n   * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`.\n   */\n  author?: {\n    /**\n     * @example \"2013-01-15T17:13:22+05:00\"\n     */\n    date?: string;\n    /**\n     * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted.\n     */\n    email: string;\n    /**\n     * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.\n     */\n    name: string;\n  };\n  /**\n   * The branch name. Default: the repository’s default branch (usually `master`)\n   */\n  branch?: string;\n  /**\n   * The person that committed the file. Default: the authenticated user.\n   */\n  committer?: {\n    /**\n     * @example \"2013-01-05T13:13:22+05:00\"\n     */\n    date?: string;\n    /**\n     * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted.\n     */\n    email: string;\n    /**\n     * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted.\n     */\n    name: string;\n  };\n  /**\n   * The new file content, using Base64 encoding.\n   */\n  content: string;\n  /**\n   * The commit message.\n   */\n  message: string;\n  /**\n   * **Required if you are updating a file**. The blob SHA of the file being replaced.\n   */\n  sha?: string;\n};\n\nexport type ReposCreateOrUpdateFileContentsVariables = {\n  body: ReposCreateOrUpdateFileContentsRequestBody;\n  pathParams: ReposCreateOrUpdateFileContentsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates a new file or replaces an existing file in a repository.\n */\nexport const fetchReposCreateOrUpdateFileContents = (\n  variables: ReposCreateOrUpdateFileContentsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.FileCommit,\n    ReposCreateOrUpdateFileContentsError,\n    ReposCreateOrUpdateFileContentsRequestBody,\n    {},\n    {},\n    ReposCreateOrUpdateFileContentsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/contents/{path}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates a new file or replaces an existing file in a repository.\n */\nexport const useReposCreateOrUpdateFileContents = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.FileCommit,\n      ReposCreateOrUpdateFileContentsError,\n      ReposCreateOrUpdateFileContentsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.FileCommit,\n    ReposCreateOrUpdateFileContentsError,\n    ReposCreateOrUpdateFileContentsVariables\n  >(\n    (variables: ReposCreateOrUpdateFileContentsVariables) =>\n      fetchReposCreateOrUpdateFileContents({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposListContributorsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListContributorsQueryParams = {\n  /**\n   * Set to `1` or `true` to include anonymous contributors in results.\n   */\n  anon?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListContributorsError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type ReposListContributorsResponse = Schemas.Contributor[];\n\nexport type ReposListContributorsVariables = {\n  pathParams: ReposListContributorsPathParams;\n  queryParams?: ReposListContributorsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance.\n *\n * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information.\n */\nexport const fetchReposListContributors = (\n  variables: ReposListContributorsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListContributorsResponse,\n    ReposListContributorsError,\n    undefined,\n    {},\n    ReposListContributorsQueryParams,\n    ReposListContributorsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/contributors',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance.\n *\n * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information.\n */\nexport const useReposListContributors = <TData = ReposListContributorsResponse>(\n  variables: ReposListContributorsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListContributorsResponse,\n      ReposListContributorsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListContributorsResponse,\n    ReposListContributorsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/contributors',\n      operationId: 'reposListContributors',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListContributors({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListDeploymentsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListDeploymentsQueryParams = {\n  /**\n   * The SHA recorded at creation time.\n   *\n   * @default none\n   */\n  sha?: string;\n  /**\n   * The name of the ref. This can be a branch, tag, or SHA.\n   *\n   * @default none\n   */\n  ref?: string;\n  /**\n   * The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`).\n   *\n   * @default none\n   */\n  task?: string;\n  /**\n   * The name of the environment that was deployed to (e.g., `staging` or `production`).\n   *\n   * @default none\n   */\n  environment?: string | null;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListDeploymentsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposListDeploymentsResponse = Schemas.Deployment[];\n\nexport type ReposListDeploymentsVariables = {\n  pathParams: ReposListDeploymentsPathParams;\n  queryParams?: ReposListDeploymentsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Simple filtering of deployments is available via query parameters:\n */\nexport const fetchReposListDeployments = (\n  variables: ReposListDeploymentsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListDeploymentsResponse,\n    ReposListDeploymentsError,\n    undefined,\n    {},\n    ReposListDeploymentsQueryParams,\n    ReposListDeploymentsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/deployments',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Simple filtering of deployments is available via query parameters:\n */\nexport const useReposListDeployments = <TData = ReposListDeploymentsResponse>(\n  variables: ReposListDeploymentsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListDeploymentsResponse,\n      ReposListDeploymentsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListDeploymentsResponse,\n    ReposListDeploymentsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/deployments',\n      operationId: 'reposListDeployments',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListDeployments({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateDeploymentPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposCreateDeploymentError = Fetcher.ErrorWrapper<\n  | {\n      status: 409;\n      payload: {\n        /**\n         * @example \"https://docs.github.com/rest/reference/repos#create-a-deployment\"\n         */\n        documentation_url?: string;\n        message?: string;\n      };\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposCreateDeploymentRequestBody = {\n  /**\n   * Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch.\n   *\n   * @default true\n   */\n  auto_merge?: boolean;\n  /**\n   * @example \"1776-07-04T00:00:00.000-07:52\"\n   */\n  created_at?: string;\n  /**\n   * Short description of the deployment.\n   *\n   * @default\n   */\n  description?: string | null;\n  /**\n   * Name for the target deployment environment (e.g., `production`, `staging`, `qa`).\n   *\n   * @default production\n   */\n  environment?: string;\n  payload?:\n    | {\n        [key: string]: any;\n      }\n    | string;\n  /**\n   * Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise.\n   * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type.\n   */\n  production_environment?: boolean;\n  /**\n   * The ref to deploy. This can be a branch, tag, or SHA.\n   */\n  ref: string;\n  /**\n   * The [status](https://docs.github.com/rest/reference/repos#statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts.\n   */\n  required_contexts?: string[];\n  /**\n   * Specifies a task to execute (e.g., `deploy` or `deploy:migrations`).\n   *\n   * @default deploy\n   */\n  task?: string;\n  /**\n   * Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false`\n   * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type.\n   *\n   * @default false\n   */\n  transient_environment?: boolean;\n};\n\nexport type ReposCreateDeploymentVariables = {\n  body: ReposCreateDeploymentRequestBody;\n  pathParams: ReposCreateDeploymentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deployments offer a few configurable parameters with certain defaults.\n *\n * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them\n * before we merge a pull request.\n *\n * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have\n * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter\n * makes it easier to track which environments have requested deployments. The default environment is `production`.\n *\n * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If\n * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\n * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\n * return a failure response.\n *\n * By default, [commit statuses](https://docs.github.com/rest/reference/repos#statuses) for every submitted context must be in a `success`\n * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to\n * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\n * not require any contexts or create any commit statuses, the deployment will always succeed.\n *\n * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text\n * field that will be passed on when a deployment event is dispatched.\n *\n * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might\n * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an\n * application with debugging enabled.\n *\n * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref.\n *\n * #### Merged branch response\n * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\n * a deployment. This auto-merge happens when:\n * *   Auto-merge option is enabled in the repository\n * *   Topic branch does not include the latest changes on the base branch, which is `master` in the response example\n * *   There are no merge conflicts\n *\n * If there are no new commits in the base branch, a new request to create a deployment should give a successful\n * response.\n *\n * #### Merge conflict response\n * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't\n * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts.\n *\n * #### Failed commit status checks\n * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success`\n * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`.\n */\nexport const fetchReposCreateDeployment = (\n  variables: ReposCreateDeploymentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    | Schemas.Deployment\n    | {\n        message?: string;\n      },\n    ReposCreateDeploymentError,\n    ReposCreateDeploymentRequestBody,\n    {},\n    {},\n    ReposCreateDeploymentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/deployments',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deployments offer a few configurable parameters with certain defaults.\n *\n * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them\n * before we merge a pull request.\n *\n * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have\n * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter\n * makes it easier to track which environments have requested deployments. The default environment is `production`.\n *\n * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If\n * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds,\n * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will\n * return a failure response.\n *\n * By default, [commit statuses](https://docs.github.com/rest/reference/repos#statuses) for every submitted context must be in a `success`\n * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to\n * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do\n * not require any contexts or create any commit statuses, the deployment will always succeed.\n *\n * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text\n * field that will be passed on when a deployment event is dispatched.\n *\n * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might\n * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an\n * application with debugging enabled.\n *\n * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref.\n *\n * #### Merged branch response\n * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating\n * a deployment. This auto-merge happens when:\n * *   Auto-merge option is enabled in the repository\n * *   Topic branch does not include the latest changes on the base branch, which is `master` in the response example\n * *   There are no merge conflicts\n *\n * If there are no new commits in the base branch, a new request to create a deployment should give a successful\n * response.\n *\n * #### Merge conflict response\n * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't\n * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts.\n *\n * #### Failed commit status checks\n * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success`\n * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`.\n */\nexport const useReposCreateDeployment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      | Schemas.Deployment\n      | {\n          message?: string;\n        },\n      ReposCreateDeploymentError,\n      ReposCreateDeploymentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    | Schemas.Deployment\n    | {\n        message?: string;\n      },\n    ReposCreateDeploymentError,\n    ReposCreateDeploymentVariables\n  >(\n    (variables: ReposCreateDeploymentVariables) =>\n      fetchReposCreateDeployment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposDeleteDeploymentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * deployment_id parameter\n   */\n  deploymentId: number;\n};\n\nexport type ReposDeleteDeploymentError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type ReposDeleteDeploymentVariables = {\n  pathParams: ReposDeleteDeploymentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * To ensure there can always be an active deployment, you can only delete an _inactive_ deployment. Anyone with `repo` or `repo_deployment` scopes can delete an inactive deployment.\n *\n * To set a deployment as inactive, you must:\n *\n * *   Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment.\n * *   Mark the active deployment as inactive by adding any non-successful deployment status.\n *\n * For more information, see \"[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)\" and \"[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status).\"\n */\nexport const fetchReposDeleteDeployment = (\n  variables: ReposDeleteDeploymentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteDeploymentError,\n    undefined,\n    {},\n    {},\n    ReposDeleteDeploymentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/deployments/{deploymentId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * To ensure there can always be an active deployment, you can only delete an _inactive_ deployment. Anyone with `repo` or `repo_deployment` scopes can delete an inactive deployment.\n *\n * To set a deployment as inactive, you must:\n *\n * *   Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment.\n * *   Mark the active deployment as inactive by adding any non-successful deployment status.\n *\n * For more information, see \"[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)\" and \"[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status).\"\n */\nexport const useReposDeleteDeployment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteDeploymentError,\n      ReposDeleteDeploymentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteDeploymentError,\n    ReposDeleteDeploymentVariables\n  >(\n    (variables: ReposDeleteDeploymentVariables) =>\n      fetchReposDeleteDeployment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetDeploymentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * deployment_id parameter\n   */\n  deploymentId: number;\n};\n\nexport type ReposGetDeploymentError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetDeploymentVariables = {\n  pathParams: ReposGetDeploymentPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposGetDeployment = (\n  variables: ReposGetDeploymentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Deployment,\n    ReposGetDeploymentError,\n    undefined,\n    {},\n    {},\n    ReposGetDeploymentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/deployments/{deploymentId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposGetDeployment = <TData = Schemas.Deployment>(\n  variables: ReposGetDeploymentVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Deployment,\n      ReposGetDeploymentError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Deployment,\n    ReposGetDeploymentError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/deployments/{deployment_id}',\n      operationId: 'reposGetDeployment',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetDeployment({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListDeploymentStatusesPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * deployment_id parameter\n   */\n  deploymentId: number;\n};\n\nexport type ReposListDeploymentStatusesQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListDeploymentStatusesError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposListDeploymentStatusesResponse = Schemas.DeploymentStatus[];\n\nexport type ReposListDeploymentStatusesVariables = {\n  pathParams: ReposListDeploymentStatusesPathParams;\n  queryParams?: ReposListDeploymentStatusesQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Users with pull access can view deployment statuses for a deployment:\n */\nexport const fetchReposListDeploymentStatuses = (\n  variables: ReposListDeploymentStatusesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListDeploymentStatusesResponse,\n    ReposListDeploymentStatusesError,\n    undefined,\n    {},\n    ReposListDeploymentStatusesQueryParams,\n    ReposListDeploymentStatusesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/deployments/{deploymentId}/statuses',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Users with pull access can view deployment statuses for a deployment:\n */\nexport const useReposListDeploymentStatuses = <\n  TData = ReposListDeploymentStatusesResponse,\n>(\n  variables: ReposListDeploymentStatusesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListDeploymentStatusesResponse,\n      ReposListDeploymentStatusesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListDeploymentStatusesResponse,\n    ReposListDeploymentStatusesError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/deployments/{deployment_id}/statuses',\n      operationId: 'reposListDeploymentStatuses',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListDeploymentStatuses(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateDeploymentStatusPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * deployment_id parameter\n   */\n  deploymentId: number;\n};\n\nexport type ReposCreateDeploymentStatusError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposCreateDeploymentStatusRequestBody = {\n  /**\n   * Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true`\n   * **Note:** To add an `inactive` status to `production` environments, you must use the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type.\n   * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type.\n   */\n  auto_inactive?: boolean;\n  /**\n   * A short description of the status. The maximum description length is 140 characters.\n   *\n   * @default\n   */\n  description?: string;\n  /**\n   * Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. **Note:** This parameter requires you to use the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type.\n   */\n  environment?: 'production' | 'staging' | 'qa';\n  /**\n   * Sets the URL for accessing your environment. Default: `\"\"`\n   * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type.\n   *\n   * @default\n   */\n  environment_url?: string;\n  /**\n   * The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `\"\"`\n   * **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. **Note:** This parameter requires you to use the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type.\n   *\n   * @default\n   */\n  log_url?: string;\n  /**\n   * The state of the status. Can be one of `error`, `failure`, `inactive`, `in_progress`, `queued` `pending`, or `success`. **Note:** To use the `inactive` state, you must provide the [`application/vnd.github.ant-man-preview+json`](https://docs.github.com/rest/overview/api-previews#enhanced-deployments) custom media type. To use the `in_progress` and `queued` states, you must provide the [`application/vnd.github.flash-preview+json`](https://docs.github.com/rest/overview/api-previews#deployment-statuses) custom media type. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub.\n   */\n  state:\n    | 'error'\n    | 'failure'\n    | 'inactive'\n    | 'in_progress'\n    | 'queued'\n    | 'pending'\n    | 'success';\n  /**\n   * The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`.\n   *\n   * @default\n   */\n  target_url?: string;\n};\n\nexport type ReposCreateDeploymentStatusVariables = {\n  body: ReposCreateDeploymentStatusRequestBody;\n  pathParams: ReposCreateDeploymentStatusPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Users with `push` access can create deployment statuses for a given deployment.\n *\n * GitHub Apps require `read & write` access to \"Deployments\" and `read-only` access to \"Repo contents\" (for private repos). OAuth Apps require the `repo_deployment` scope.\n */\nexport const fetchReposCreateDeploymentStatus = (\n  variables: ReposCreateDeploymentStatusVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.DeploymentStatus,\n    ReposCreateDeploymentStatusError,\n    ReposCreateDeploymentStatusRequestBody,\n    {},\n    {},\n    ReposCreateDeploymentStatusPathParams\n  >({\n    url: '/repos/{owner}/{repo}/deployments/{deploymentId}/statuses',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Users with `push` access can create deployment statuses for a given deployment.\n *\n * GitHub Apps require `read & write` access to \"Deployments\" and `read-only` access to \"Repo contents\" (for private repos). OAuth Apps require the `repo_deployment` scope.\n */\nexport const useReposCreateDeploymentStatus = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.DeploymentStatus,\n      ReposCreateDeploymentStatusError,\n      ReposCreateDeploymentStatusVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.DeploymentStatus,\n    ReposCreateDeploymentStatusError,\n    ReposCreateDeploymentStatusVariables\n  >(\n    (variables: ReposCreateDeploymentStatusVariables) =>\n      fetchReposCreateDeploymentStatus({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetDeploymentStatusPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * deployment_id parameter\n   */\n  deploymentId: number;\n  statusId: number;\n};\n\nexport type ReposGetDeploymentStatusError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type ReposGetDeploymentStatusVariables = {\n  pathParams: ReposGetDeploymentStatusPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Users with pull access can view a deployment status for a deployment:\n */\nexport const fetchReposGetDeploymentStatus = (\n  variables: ReposGetDeploymentStatusVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.DeploymentStatus,\n    ReposGetDeploymentStatusError,\n    undefined,\n    {},\n    {},\n    ReposGetDeploymentStatusPathParams\n  >({\n    url: '/repos/{owner}/{repo}/deployments/{deploymentId}/statuses/{statusId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Users with pull access can view a deployment status for a deployment:\n */\nexport const useReposGetDeploymentStatus = <TData = Schemas.DeploymentStatus>(\n  variables: ReposGetDeploymentStatusVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.DeploymentStatus,\n      ReposGetDeploymentStatusError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.DeploymentStatus,\n    ReposGetDeploymentStatusError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}',\n      operationId: 'reposGetDeploymentStatus',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetDeploymentStatus(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateDispatchEventPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposCreateDispatchEventError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposCreateDispatchEventRequestBody = {\n  /**\n   * JSON payload with extra information about the webhook event that your action or worklow may use.\n   */\n  client_payload?: {\n    [key: string]: any;\n  };\n  /**\n   * A custom webhook event name.\n   */\n  event_type: string;\n};\n\nexport type ReposCreateDispatchEventVariables = {\n  body: ReposCreateDispatchEventRequestBody;\n  pathParams: ReposCreateDispatchEventPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see \"[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch).\"\n *\n * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow.\n *\n * This endpoint requires write access to the repository by providing either:\n *\n *   - Personal access tokens with `repo` scope. For more information, see \"[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)\" in the GitHub Help documentation.\n *   - GitHub Apps with both `metadata:read` and `contents:read&write` permissions.\n *\n * This input example shows how you can use the `client_payload` as a test to debug your workflow.\n */\nexport const fetchReposCreateDispatchEvent = (\n  variables: ReposCreateDispatchEventVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposCreateDispatchEventError,\n    ReposCreateDispatchEventRequestBody,\n    {},\n    {},\n    ReposCreateDispatchEventPathParams\n  >({\n    url: '/repos/{owner}/{repo}/dispatches',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see \"[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch).\"\n *\n * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow.\n *\n * This endpoint requires write access to the repository by providing either:\n *\n *   - Personal access tokens with `repo` scope. For more information, see \"[Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line)\" in the GitHub Help documentation.\n *   - GitHub Apps with both `metadata:read` and `contents:read&write` permissions.\n *\n * This input example shows how you can use the `client_payload` as a test to debug your workflow.\n */\nexport const useReposCreateDispatchEvent = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposCreateDispatchEventError,\n      ReposCreateDispatchEventVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposCreateDispatchEventError,\n    ReposCreateDispatchEventVariables\n  >(\n    (variables: ReposCreateDispatchEventVariables) =>\n      fetchReposCreateDispatchEvent({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetAllEnvironmentsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetAllEnvironmentsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetAllEnvironmentsResponse = {\n  environments?: Schemas.Environment[];\n  /**\n   * The number of environments in this repository\n   *\n   * @example 5\n   */\n  total_count?: number;\n};\n\nexport type ReposGetAllEnvironmentsVariables = {\n  pathParams: ReposGetAllEnvironmentsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Get all environments for a repository.\n *\n * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchReposGetAllEnvironments = (\n  variables: ReposGetAllEnvironmentsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposGetAllEnvironmentsResponse,\n    ReposGetAllEnvironmentsError,\n    undefined,\n    {},\n    {},\n    ReposGetAllEnvironmentsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/environments',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Get all environments for a repository.\n *\n * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useReposGetAllEnvironments = <\n  TData = ReposGetAllEnvironmentsResponse,\n>(\n  variables: ReposGetAllEnvironmentsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposGetAllEnvironmentsResponse,\n      ReposGetAllEnvironmentsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposGetAllEnvironmentsResponse,\n    ReposGetAllEnvironmentsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/environments',\n      operationId: 'reposGetAllEnvironments',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetAllEnvironments({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposDeleteAnEnvironmentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the environment\n   */\n  environmentName: string;\n};\n\nexport type ReposDeleteAnEnvironmentError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposDeleteAnEnvironmentVariables = {\n  pathParams: ReposDeleteAnEnvironmentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * You must authenticate using an access token with the repo scope to use this endpoint.\n */\nexport const fetchReposDeleteAnEnvironment = (\n  variables: ReposDeleteAnEnvironmentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteAnEnvironmentError,\n    undefined,\n    {},\n    {},\n    ReposDeleteAnEnvironmentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/environments/{environmentName}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * You must authenticate using an access token with the repo scope to use this endpoint.\n */\nexport const useReposDeleteAnEnvironment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteAnEnvironmentError,\n      ReposDeleteAnEnvironmentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteAnEnvironmentError,\n    ReposDeleteAnEnvironmentVariables\n  >(\n    (variables: ReposDeleteAnEnvironmentVariables) =>\n      fetchReposDeleteAnEnvironment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetEnvironmentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the environment\n   */\n  environmentName: string;\n};\n\nexport type ReposGetEnvironmentError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetEnvironmentVariables = {\n  pathParams: ReposGetEnvironmentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const fetchReposGetEnvironment = (\n  variables: ReposGetEnvironmentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Environment,\n    ReposGetEnvironmentError,\n    undefined,\n    {},\n    {},\n    ReposGetEnvironmentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/environments/{environmentName}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.\n */\nexport const useReposGetEnvironment = <TData = Schemas.Environment>(\n  variables: ReposGetEnvironmentVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Environment,\n      ReposGetEnvironmentError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Environment,\n    ReposGetEnvironmentError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/environments/{environment_name}',\n      operationId: 'reposGetEnvironment',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetEnvironment({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateOrUpdateEnvironmentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The name of the environment\n   */\n  environmentName: string;\n};\n\nexport type ReposCreateOrUpdateEnvironmentError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Schemas.BasicError;\n}>;\n\nexport type ReposCreateOrUpdateEnvironmentVariables = {\n  body?: {\n    deployment_branch_policy?: Schemas.DeploymentBranchPolicy;\n    /**\n     * The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.\n     */\n    reviewers?:\n      | {\n          /**\n           * The id of the user or team who can review the deployment\n           *\n           * @example 4532992\n           */\n          id?: number;\n          type?: Schemas.DeploymentReviewerType;\n        }[]\n      | null;\n    wait_timer?: Schemas.WaitTimer;\n  } | null;\n  pathParams: ReposCreateOrUpdateEnvironmentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see \"[Environments](/actions/reference/environments#environment-protection-rules).\"\n *\n * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see \"[Environments](/actions/reference/environments#deployment-branches).\"\n *\n * **Note:** To create or update secrets for an environment, see \"[Secrets](/rest/reference/actions#secrets).\"\n *\n * You must authenticate using an access token with the repo scope to use this endpoint.\n */\nexport const fetchReposCreateOrUpdateEnvironment = (\n  variables: ReposCreateOrUpdateEnvironmentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Environment,\n    ReposCreateOrUpdateEnvironmentError,\n    {\n      deployment_branch_policy?: Schemas.DeploymentBranchPolicy;\n      /**\n       * The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.\n       */\n      reviewers?:\n        | {\n            /**\n             * The id of the user or team who can review the deployment\n             *\n             * @example 4532992\n             */\n            id?: number;\n            type?: Schemas.DeploymentReviewerType;\n          }[]\n        | null;\n      wait_timer?: Schemas.WaitTimer;\n    } | null,\n    {},\n    {},\n    ReposCreateOrUpdateEnvironmentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/environments/{environmentName}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see \"[Environments](/actions/reference/environments#environment-protection-rules).\"\n *\n * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see \"[Environments](/actions/reference/environments#deployment-branches).\"\n *\n * **Note:** To create or update secrets for an environment, see \"[Secrets](/rest/reference/actions#secrets).\"\n *\n * You must authenticate using an access token with the repo scope to use this endpoint.\n */\nexport const useReposCreateOrUpdateEnvironment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Environment,\n      ReposCreateOrUpdateEnvironmentError,\n      ReposCreateOrUpdateEnvironmentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Environment,\n    ReposCreateOrUpdateEnvironmentError,\n    ReposCreateOrUpdateEnvironmentVariables\n  >(\n    (variables: ReposCreateOrUpdateEnvironmentVariables) =>\n      fetchReposCreateOrUpdateEnvironment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActivityListRepoEventsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActivityListRepoEventsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListRepoEventsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityListRepoEventsResponse = Schemas.Event[];\n\nexport type ActivityListRepoEventsVariables = {\n  pathParams: ActivityListRepoEventsPathParams;\n  queryParams?: ActivityListRepoEventsQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchActivityListRepoEvents = (\n  variables: ActivityListRepoEventsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListRepoEventsResponse,\n    ActivityListRepoEventsError,\n    undefined,\n    {},\n    ActivityListRepoEventsQueryParams,\n    ActivityListRepoEventsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/events',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useActivityListRepoEvents = <\n  TData = ActivityListRepoEventsResponse,\n>(\n  variables: ActivityListRepoEventsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListRepoEventsResponse,\n      ActivityListRepoEventsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListRepoEventsResponse,\n    ActivityListRepoEventsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/events',\n      operationId: 'activityListRepoEvents',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListRepoEvents({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListForksPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListForksQueryParams = {\n  /**\n   * The sort order. Can be either `newest`, `oldest`, or `stargazers`.\n   *\n   * @default newest\n   */\n  sort?: 'newest' | 'oldest' | 'stargazers' | 'watchers';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * legacy query parameter for specifying the org.\n   */\n  org?: string;\n  /**\n   * legacy query parameter for specifying the org.\n   */\n  organization?: string;\n};\n\nexport type ReposListForksError = Fetcher.ErrorWrapper<{\n  status: 400;\n  payload: Responses.BadRequest;\n}>;\n\nexport type ReposListForksResponse = Schemas.MinimalRepository[];\n\nexport type ReposListForksVariables = {\n  pathParams: ReposListForksPathParams;\n  queryParams?: ReposListForksQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposListForks = (\n  variables: ReposListForksVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListForksResponse,\n    ReposListForksError,\n    undefined,\n    {},\n    ReposListForksQueryParams,\n    ReposListForksPathParams\n  >({\n    url: '/repos/{owner}/{repo}/forks',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposListForks = <TData = ReposListForksResponse>(\n  variables: ReposListForksVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListForksResponse,\n      ReposListForksError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListForksResponse,\n    ReposListForksError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/forks',\n      operationId: 'reposListForks',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListForks({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateForkPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposCreateForkQueryParams = {\n  /**\n   * legacy query parameter for specifying the org.\n   */\n  org?: string;\n  /**\n   * legacy query parameter for specifying the org.\n   */\n  organization?: string;\n};\n\nexport type ReposCreateForkError = Fetcher.ErrorWrapper<\n  | {\n      status: 400;\n      payload: Responses.BadRequest;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposCreateForkVariables = {\n  body?: {\n    /**\n     * Optional parameter to specify the organization name if forking into an organization.\n     */\n    organization?: string;\n  } | null;\n  pathParams: ReposCreateForkPathParams;\n  queryParams?: ReposCreateForkQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Create a fork for the authenticated user.\n *\n * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com).\n */\nexport const fetchReposCreateFork = (\n  variables: ReposCreateForkVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Repository,\n    ReposCreateForkError,\n    {\n      /**\n       * Optional parameter to specify the organization name if forking into an organization.\n       */\n      organization?: string;\n    } | null,\n    {},\n    ReposCreateForkQueryParams,\n    ReposCreateForkPathParams\n  >({\n    url: '/repos/{owner}/{repo}/forks',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Create a fork for the authenticated user.\n *\n * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com).\n */\nexport const useReposCreateFork = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Repository,\n      ReposCreateForkError,\n      ReposCreateForkVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Repository,\n    ReposCreateForkError,\n    ReposCreateForkVariables\n  >(\n    (variables: ReposCreateForkVariables) =>\n      fetchReposCreateFork({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GitCreateBlobPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type GitCreateBlobError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 409;\n      payload: Responses.Conflict;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type GitCreateBlobRequestBody = {\n  /**\n   * The new blob's content.\n   */\n  content: string;\n  /**\n   * The encoding used for `content`. Currently, `\"utf-8\"` and `\"base64\"` are supported.\n   *\n   * @default utf-8\n   */\n  encoding?: string;\n};\n\nexport type GitCreateBlobVariables = {\n  body: GitCreateBlobRequestBody;\n  pathParams: GitCreateBlobPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGitCreateBlob = (\n  variables: GitCreateBlobVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ShortBlob,\n    GitCreateBlobError,\n    GitCreateBlobRequestBody,\n    {},\n    {},\n    GitCreateBlobPathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/blobs',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\nexport const useGitCreateBlob = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ShortBlob,\n      GitCreateBlobError,\n      GitCreateBlobVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ShortBlob,\n    GitCreateBlobError,\n    GitCreateBlobVariables\n  >(\n    (variables: GitCreateBlobVariables) =>\n      fetchGitCreateBlob({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GitGetBlobPathParams = {\n  owner: string;\n  repo: string;\n  fileSha: string;\n};\n\nexport type GitGetBlobError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type GitGetBlobVariables = {\n  pathParams: GitGetBlobPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The `content` in the response will always be Base64 encoded.\n *\n * _Note_: This API supports blobs up to 100 megabytes in size.\n */\nexport const fetchGitGetBlob = (\n  variables: GitGetBlobVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Blob,\n    GitGetBlobError,\n    undefined,\n    {},\n    {},\n    GitGetBlobPathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/blobs/{fileSha}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * The `content` in the response will always be Base64 encoded.\n *\n * _Note_: This API supports blobs up to 100 megabytes in size.\n */\nexport const useGitGetBlob = <TData = Schemas.Blob>(\n  variables: GitGetBlobVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.Blob, GitGetBlobError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Blob, GitGetBlobError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/git/blobs/{file_sha}',\n      operationId: 'gitGetBlob',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGitGetBlob({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GitCreateCommitPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type GitCreateCommitError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type GitCreateCommitRequestBody = {\n  /**\n   * Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details.\n   */\n  author?: {\n    /**\n     * Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n     */\n    date?: string;\n    /**\n     * The email of the author (or committer) of the commit\n     */\n    email?: string;\n    /**\n     * The name of the author (or committer) of the commit\n     */\n    name?: string;\n  };\n  /**\n   * Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details.\n   */\n  committer?: {\n    /**\n     * Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n     */\n    date?: string;\n    /**\n     * The email of the author (or committer) of the commit\n     */\n    email?: string;\n    /**\n     * The name of the author (or committer) of the commit\n     */\n    name?: string;\n  };\n  /**\n   * The commit message\n   */\n  message: string;\n  /**\n   * The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided.\n   */\n  parents?: string[];\n  /**\n   * The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits.\n   */\n  signature?: string;\n  /**\n   * The SHA of the tree object this commit points to\n   */\n  tree: string;\n};\n\nexport type GitCreateCommitVariables = {\n  body: GitCreateCommitRequestBody;\n  pathParams: GitCreateCommitPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects).\n *\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const fetchGitCreateCommit = (\n  variables: GitCreateCommitVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GitCommit,\n    GitCreateCommitError,\n    GitCreateCommitRequestBody,\n    {},\n    {},\n    GitCreateCommitPathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/commits',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects).\n *\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const useGitCreateCommit = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.GitCommit,\n      GitCreateCommitError,\n      GitCreateCommitVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.GitCommit,\n    GitCreateCommitError,\n    GitCreateCommitVariables\n  >(\n    (variables: GitCreateCommitVariables) =>\n      fetchGitCreateCommit({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GitGetCommitPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * commit_sha parameter\n   */\n  commitSha: string;\n};\n\nexport type GitGetCommitError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type GitGetCommitVariables = {\n  pathParams: GitGetCommitPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects).\n *\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const fetchGitGetCommit = (\n  variables: GitGetCommitVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GitCommit,\n    GitGetCommitError,\n    undefined,\n    {},\n    {},\n    GitGetCommitPathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/commits/{commitSha}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects).\n *\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const useGitGetCommit = <TData = Schemas.GitCommit>(\n  variables: GitGetCommitVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.GitCommit, GitGetCommitError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.GitCommit, GitGetCommitError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/git/commits/{commit_sha}',\n      operationId: 'gitGetCommit',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGitGetCommit({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GitListMatchingRefsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * ref parameter\n   */\n  ref: string;\n};\n\nexport type GitListMatchingRefsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type GitListMatchingRefsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type GitListMatchingRefsResponse = Schemas.GitRef[];\n\nexport type GitListMatchingRefsVariables = {\n  pathParams: GitListMatchingRefsPathParams;\n  queryParams?: GitListMatchingRefsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/<branch name>` for branches and `tags/<tag name>` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array.\n *\n * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`.\n *\n * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".\n *\n * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`.\n */\nexport const fetchGitListMatchingRefs = (\n  variables: GitListMatchingRefsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    GitListMatchingRefsResponse,\n    GitListMatchingRefsError,\n    undefined,\n    {},\n    GitListMatchingRefsQueryParams,\n    GitListMatchingRefsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/matching-refs/{ref}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/<branch name>` for branches and `tags/<tag name>` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array.\n *\n * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`.\n *\n * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".\n *\n * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`.\n */\nexport const useGitListMatchingRefs = <TData = GitListMatchingRefsResponse>(\n  variables: GitListMatchingRefsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      GitListMatchingRefsResponse,\n      GitListMatchingRefsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    GitListMatchingRefsResponse,\n    GitListMatchingRefsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/git/matching-refs/{ref}',\n      operationId: 'gitListMatchingRefs',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGitListMatchingRefs({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GitGetRefPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * ref parameter\n   */\n  ref: string;\n};\n\nexport type GitGetRefError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type GitGetRefVariables = {\n  pathParams: GitGetRefPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/<branch name>` for branches and `tags/<tag name>` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned.\n *\n * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".\n */\nexport const fetchGitGetRef = (\n  variables: GitGetRefVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GitRef,\n    GitGetRefError,\n    undefined,\n    {},\n    {},\n    GitGetRefPathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/ref/{ref}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/<branch name>` for branches and `tags/<tag name>` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned.\n *\n * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".\n */\nexport const useGitGetRef = <TData = Schemas.GitRef>(\n  variables: GitGetRefVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.GitRef, GitGetRefError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.GitRef, GitGetRefError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/git/ref/{ref}',\n      operationId: 'gitGetRef',\n      variables,\n    }),\n    ({ signal }) => fetchGitGetRef({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GitCreateRefPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type GitCreateRefError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type GitCreateRefRequestBody = {\n  /**\n   * @example \"refs/heads/newbranch\"\n   */\n  key?: string;\n  /**\n   * The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected.\n   */\n  ref: string;\n  /**\n   * The SHA1 value for this reference.\n   */\n  sha: string;\n};\n\nexport type GitCreateRefVariables = {\n  body: GitCreateRefRequestBody;\n  pathParams: GitCreateRefPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches.\n */\nexport const fetchGitCreateRef = (\n  variables: GitCreateRefVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GitRef,\n    GitCreateRefError,\n    GitCreateRefRequestBody,\n    {},\n    {},\n    GitCreateRefPathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/refs',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches.\n */\nexport const useGitCreateRef = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.GitRef,\n      GitCreateRefError,\n      GitCreateRefVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.GitRef,\n    GitCreateRefError,\n    GitCreateRefVariables\n  >(\n    (variables: GitCreateRefVariables) =>\n      fetchGitCreateRef({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GitDeleteRefPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * ref parameter\n   */\n  ref: string;\n};\n\nexport type GitDeleteRefError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type GitDeleteRefVariables = {\n  pathParams: GitDeleteRefPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGitDeleteRef = (\n  variables: GitDeleteRefVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    GitDeleteRefError,\n    undefined,\n    {},\n    {},\n    GitDeleteRefPathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/refs/{ref}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useGitDeleteRef = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      GitDeleteRefError,\n      GitDeleteRefVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    GitDeleteRefError,\n    GitDeleteRefVariables\n  >(\n    (variables: GitDeleteRefVariables) =>\n      fetchGitDeleteRef({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GitUpdateRefPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * ref parameter\n   */\n  ref: string;\n};\n\nexport type GitUpdateRefError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type GitUpdateRefRequestBody = {\n  /**\n   * Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work.\n   *\n   * @default false\n   */\n  force?: boolean;\n  /**\n   * The SHA1 value to set this reference to\n   */\n  sha: string;\n};\n\nexport type GitUpdateRefVariables = {\n  body: GitUpdateRefRequestBody;\n  pathParams: GitUpdateRefPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchGitUpdateRef = (\n  variables: GitUpdateRefVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GitRef,\n    GitUpdateRefError,\n    GitUpdateRefRequestBody,\n    {},\n    {},\n    GitUpdateRefPathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/refs/{ref}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\nexport const useGitUpdateRef = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.GitRef,\n      GitUpdateRefError,\n      GitUpdateRefVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.GitRef,\n    GitUpdateRefError,\n    GitUpdateRefVariables\n  >(\n    (variables: GitUpdateRefVariables) =>\n      fetchGitUpdateRef({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GitCreateTagPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type GitCreateTagError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type GitCreateTagRequestBody = {\n  /**\n   * The tag message.\n   */\n  message: string;\n  /**\n   * The SHA of the git object this is tagging.\n   */\n  object: string;\n  /**\n   * The tag's name. This is typically a version (e.g., \"v0.0.1\").\n   */\n  tag: string;\n  /**\n   * An object with information about the individual creating the tag.\n   */\n  tagger?: {\n    /**\n     * When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n     */\n    date?: string;\n    /**\n     * The email of the author of the tag\n     */\n    email?: string;\n    /**\n     * The name of the author of the tag\n     */\n    name?: string;\n  };\n  /**\n   * The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`.\n   */\n  type: 'commit' | 'tree' | 'blob';\n};\n\nexport type GitCreateTagVariables = {\n  body: GitCreateTagRequestBody;\n  pathParams: GitCreateTagPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary.\n *\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const fetchGitCreateTag = (\n  variables: GitCreateTagVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GitTag,\n    GitCreateTagError,\n    GitCreateTagRequestBody,\n    {},\n    {},\n    GitCreateTagPathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/tags',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary.\n *\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const useGitCreateTag = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.GitTag,\n      GitCreateTagError,\n      GitCreateTagVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.GitTag,\n    GitCreateTagError,\n    GitCreateTagVariables\n  >(\n    (variables: GitCreateTagVariables) =>\n      fetchGitCreateTag({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GitGetTagPathParams = {\n  owner: string;\n  repo: string;\n  tagSha: string;\n};\n\nexport type GitGetTagError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type GitGetTagVariables = {\n  pathParams: GitGetTagPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const fetchGitGetTag = (\n  variables: GitGetTagVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GitTag,\n    GitGetTagError,\n    undefined,\n    {},\n    {},\n    GitGetTagPathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/tags/{tagSha}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Signature verification object**\n *\n * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object:\n *\n * | Name | Type | Description |\n * | ---- | ---- | ----------- |\n * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. |\n * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. |\n * | `signature` | `string` | The signature that was extracted from the commit. |\n * | `payload` | `string` | The value that was signed. |\n *\n * These are the possible values for `reason` in the `verification` object:\n *\n * | Value | Description |\n * | ----- | ----------- |\n * | `expired_key` | The key that made the signature is expired. |\n * | `not_signing_key` | The \"signing\" flag is not among the usage flags in the GPG key that made the signature. |\n * | `gpgverify_error` | There was an error communicating with the signature verification service. |\n * | `gpgverify_unavailable` | The signature verification service is currently unavailable. |\n * | `unsigned` | The object does not include a signature. |\n * | `unknown_signature_type` | A non-PGP signature was found in the commit. |\n * | `no_user` | No user was associated with the `committer` email address in the commit. |\n * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |\n * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. |\n * | `unknown_key` | The key that made the signature has not been registered with any user's account. |\n * | `malformed_signature` | There was an error parsing the signature. |\n * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. |\n * | `valid` | None of the above errors applied, so the signature is considered to be verified. |\n */\nexport const useGitGetTag = <TData = Schemas.GitTag>(\n  variables: GitGetTagVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.GitTag, GitGetTagError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.GitTag, GitGetTagError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/git/tags/{tag_sha}',\n      operationId: 'gitGetTag',\n      variables,\n    }),\n    ({ signal }) => fetchGitGetTag({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GitCreateTreePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type GitCreateTreeError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type GitCreateTreeRequestBody = {\n  /**\n   * The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\n   * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit.\n   */\n  base_tree?: string;\n  /**\n   * Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure.\n   */\n  tree: {\n    /**\n     * The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`.\n     *\n     * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error.\n     */\n    content?: string;\n    /**\n     * The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink.\n     */\n    mode?: '100644' | '100755' | '040000' | '160000' | '120000';\n    /**\n     * The file referenced in the tree.\n     */\n    path?: string;\n    /**\n     * The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted.\n     *\n     * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error.\n     */\n    sha?: string | null;\n    /**\n     * Either `blob`, `tree`, or `commit`.\n     */\n    type?: 'blob' | 'tree' | 'commit';\n  }[];\n};\n\nexport type GitCreateTreeVariables = {\n  body: GitCreateTreeRequestBody;\n  pathParams: GitCreateTreePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure.\n *\n * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see \"[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)\" and \"[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference).\"\n */\nexport const fetchGitCreateTree = (\n  variables: GitCreateTreeVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GitTree,\n    GitCreateTreeError,\n    GitCreateTreeRequestBody,\n    {},\n    {},\n    GitCreateTreePathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/trees',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure.\n *\n * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see \"[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)\" and \"[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference).\"\n */\nexport const useGitCreateTree = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.GitTree,\n      GitCreateTreeError,\n      GitCreateTreeVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.GitTree,\n    GitCreateTreeError,\n    GitCreateTreeVariables\n  >(\n    (variables: GitCreateTreeVariables) =>\n      fetchGitCreateTree({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type GitGetTreePathParams = {\n  owner: string;\n  repo: string;\n  treeSha: string;\n};\n\nexport type GitGetTreeQueryParams = {\n  /**\n   * Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `\"true\"`, and `\"false\"`. Omit this parameter to prevent recursively returning objects or subtrees.\n   */\n  recursive?: string;\n};\n\nexport type GitGetTreeError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type GitGetTreeVariables = {\n  pathParams: GitGetTreePathParams;\n  queryParams?: GitGetTreeQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns a single tree using the SHA1 value for that tree.\n *\n * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time.\n */\nexport const fetchGitGetTree = (\n  variables: GitGetTreeVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GitTree,\n    GitGetTreeError,\n    undefined,\n    {},\n    GitGetTreeQueryParams,\n    GitGetTreePathParams\n  >({\n    url: '/repos/{owner}/{repo}/git/trees/{treeSha}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns a single tree using the SHA1 value for that tree.\n *\n * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time.\n */\nexport const useGitGetTree = <TData = Schemas.GitTree>(\n  variables: GitGetTreeVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.GitTree, GitGetTreeError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.GitTree, GitGetTreeError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/git/trees/{tree_sha}',\n      operationId: 'gitGetTree',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGitGetTree({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListWebhooksPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListWebhooksQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListWebhooksError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposListWebhooksResponse = Schemas.Hook[];\n\nexport type ReposListWebhooksVariables = {\n  pathParams: ReposListWebhooksPathParams;\n  queryParams?: ReposListWebhooksQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposListWebhooks = (\n  variables: ReposListWebhooksVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListWebhooksResponse,\n    ReposListWebhooksError,\n    undefined,\n    {},\n    ReposListWebhooksQueryParams,\n    ReposListWebhooksPathParams\n  >({\n    url: '/repos/{owner}/{repo}/hooks',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposListWebhooks = <TData = ReposListWebhooksResponse>(\n  variables: ReposListWebhooksVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListWebhooksResponse,\n      ReposListWebhooksError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListWebhooksResponse,\n    ReposListWebhooksError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/hooks',\n      operationId: 'reposListWebhooks',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListWebhooks({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateWebhookPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposCreateWebhookError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposCreateWebhookRequestBody = {\n  /**\n   * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.\n   *\n   * @default true\n   */\n  active?: boolean;\n  /**\n   * Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params).\n   */\n  config: {\n    content_type?: Schemas.WebhookConfigContentType;\n    /**\n     * @example \"sha256\"\n     */\n    digest?: string;\n    insecure_ssl?: Schemas.WebhookConfigInsecureSsl;\n    secret?: Schemas.WebhookConfigSecret;\n    /**\n     * @example \"abc\"\n     */\n    token?: string;\n    url: Schemas.WebhookConfigUrl;\n  };\n  /**\n   * Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for.\n   *\n   * @default push\n   */\n  events?: string[];\n  /**\n   * Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`.\n   */\n  name?: string;\n};\n\nexport type ReposCreateWebhookVariables = {\n  body: ReposCreateWebhookRequestBody;\n  pathParams: ReposCreateWebhookPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can\n * share the same `config` as long as those webhooks do not have any `events` that overlap.\n */\nexport const fetchReposCreateWebhook = (\n  variables: ReposCreateWebhookVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Hook,\n    ReposCreateWebhookError,\n    ReposCreateWebhookRequestBody,\n    {},\n    {},\n    ReposCreateWebhookPathParams\n  >({\n    url: '/repos/{owner}/{repo}/hooks',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can\n * share the same `config` as long as those webhooks do not have any `events` that overlap.\n */\nexport const useReposCreateWebhook = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Hook,\n      ReposCreateWebhookError,\n      ReposCreateWebhookVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Hook,\n    ReposCreateWebhookError,\n    ReposCreateWebhookVariables\n  >(\n    (variables: ReposCreateWebhookVariables) =>\n      fetchReposCreateWebhook({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposDeleteWebhookPathParams = {\n  owner: string;\n  repo: string;\n  hookId: number;\n};\n\nexport type ReposDeleteWebhookError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposDeleteWebhookVariables = {\n  pathParams: ReposDeleteWebhookPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposDeleteWebhook = (\n  variables: ReposDeleteWebhookVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteWebhookError,\n    undefined,\n    {},\n    {},\n    ReposDeleteWebhookPathParams\n  >({\n    url: '/repos/{owner}/{repo}/hooks/{hookId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useReposDeleteWebhook = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteWebhookError,\n      ReposDeleteWebhookVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteWebhookError,\n    ReposDeleteWebhookVariables\n  >(\n    (variables: ReposDeleteWebhookVariables) =>\n      fetchReposDeleteWebhook({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetWebhookPathParams = {\n  owner: string;\n  repo: string;\n  hookId: number;\n};\n\nexport type ReposGetWebhookError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetWebhookVariables = {\n  pathParams: ReposGetWebhookPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns a webhook configured in a repository. To get only the webhook `config` properties, see \"[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository).\"\n */\nexport const fetchReposGetWebhook = (\n  variables: ReposGetWebhookVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Hook,\n    ReposGetWebhookError,\n    undefined,\n    {},\n    {},\n    ReposGetWebhookPathParams\n  >({\n    url: '/repos/{owner}/{repo}/hooks/{hookId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns a webhook configured in a repository. To get only the webhook `config` properties, see \"[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository).\"\n */\nexport const useReposGetWebhook = <TData = Schemas.Hook>(\n  variables: ReposGetWebhookVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.Hook, ReposGetWebhookError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Hook, ReposGetWebhookError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/hooks/{hook_id}',\n      operationId: 'reposGetWebhook',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetWebhook({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposUpdateWebhookPathParams = {\n  owner: string;\n  repo: string;\n  hookId: number;\n};\n\nexport type ReposUpdateWebhookError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposUpdateWebhookRequestBody = {\n  /**\n   * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications.\n   *\n   * @default true\n   */\n  active?: boolean;\n  /**\n   * Determines a list of events to be added to the list of events that the Hook triggers for.\n   */\n  add_events?: string[];\n  /**\n   * Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params).\n   */\n  config?: {\n    /**\n     * @example \"bar@example.com\"\n     */\n    address?: string;\n    content_type?: Schemas.WebhookConfigContentType;\n    insecure_ssl?: Schemas.WebhookConfigInsecureSsl;\n    /**\n     * @example \"The Serious Room\"\n     */\n    room?: string;\n    secret?: Schemas.WebhookConfigSecret;\n    url: Schemas.WebhookConfigUrl;\n  };\n  /**\n   * Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events.\n   *\n   * @default push\n   */\n  events?: string[];\n  /**\n   * Determines a list of events to be removed from the list of events that the Hook triggers for.\n   */\n  remove_events?: string[];\n};\n\nexport type ReposUpdateWebhookVariables = {\n  body?: ReposUpdateWebhookRequestBody;\n  pathParams: ReposUpdateWebhookPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use \"[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository).\"\n */\nexport const fetchReposUpdateWebhook = (\n  variables: ReposUpdateWebhookVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Hook,\n    ReposUpdateWebhookError,\n    ReposUpdateWebhookRequestBody,\n    {},\n    {},\n    ReposUpdateWebhookPathParams\n  >({\n    url: '/repos/{owner}/{repo}/hooks/{hookId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use \"[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository).\"\n */\nexport const useReposUpdateWebhook = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Hook,\n      ReposUpdateWebhookError,\n      ReposUpdateWebhookVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Hook,\n    ReposUpdateWebhookError,\n    ReposUpdateWebhookVariables\n  >(\n    (variables: ReposUpdateWebhookVariables) =>\n      fetchReposUpdateWebhook({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetWebhookConfigForRepoPathParams = {\n  owner: string;\n  repo: string;\n  hookId: number;\n};\n\nexport type ReposGetWebhookConfigForRepoError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetWebhookConfigForRepoVariables = {\n  pathParams: ReposGetWebhookConfigForRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use \"[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook).\"\n *\n * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission.\n */\nexport const fetchReposGetWebhookConfigForRepo = (\n  variables: ReposGetWebhookConfigForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.WebhookConfig,\n    ReposGetWebhookConfigForRepoError,\n    undefined,\n    {},\n    {},\n    ReposGetWebhookConfigForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/hooks/{hookId}/config',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use \"[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook).\"\n *\n * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission.\n */\nexport const useReposGetWebhookConfigForRepo = <TData = Schemas.WebhookConfig>(\n  variables: ReposGetWebhookConfigForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.WebhookConfig,\n      ReposGetWebhookConfigForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.WebhookConfig,\n    ReposGetWebhookConfigForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/hooks/{hook_id}/config',\n      operationId: 'reposGetWebhookConfigForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetWebhookConfigForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposUpdateWebhookConfigForRepoPathParams = {\n  owner: string;\n  repo: string;\n  hookId: number;\n};\n\nexport type ReposUpdateWebhookConfigForRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposUpdateWebhookConfigForRepoRequestBody = {\n  content_type?: Schemas.WebhookConfigContentType;\n  insecure_ssl?: Schemas.WebhookConfigInsecureSsl;\n  secret?: Schemas.WebhookConfigSecret;\n  url?: Schemas.WebhookConfigUrl;\n};\n\nexport type ReposUpdateWebhookConfigForRepoVariables = {\n  body?: ReposUpdateWebhookConfigForRepoRequestBody;\n  pathParams: ReposUpdateWebhookConfigForRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use \"[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook).\"\n *\n * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission.\n */\nexport const fetchReposUpdateWebhookConfigForRepo = (\n  variables: ReposUpdateWebhookConfigForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.WebhookConfig,\n    ReposUpdateWebhookConfigForRepoError,\n    ReposUpdateWebhookConfigForRepoRequestBody,\n    {},\n    {},\n    ReposUpdateWebhookConfigForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/hooks/{hookId}/config',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use \"[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook).\"\n *\n * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission.\n */\nexport const useReposUpdateWebhookConfigForRepo = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.WebhookConfig,\n      ReposUpdateWebhookConfigForRepoError,\n      ReposUpdateWebhookConfigForRepoVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.WebhookConfig,\n    ReposUpdateWebhookConfigForRepoError,\n    ReposUpdateWebhookConfigForRepoVariables\n  >(\n    (variables: ReposUpdateWebhookConfigForRepoVariables) =>\n      fetchReposUpdateWebhookConfigForRepo({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposPingWebhookPathParams = {\n  owner: string;\n  repo: string;\n  hookId: number;\n};\n\nexport type ReposPingWebhookError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposPingWebhookVariables = {\n  pathParams: ReposPingWebhookPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook.\n */\nexport const fetchReposPingWebhook = (\n  variables: ReposPingWebhookVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposPingWebhookError,\n    undefined,\n    {},\n    {},\n    ReposPingWebhookPathParams\n  >({\n    url: '/repos/{owner}/{repo}/hooks/{hookId}/pings',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook.\n */\nexport const useReposPingWebhook = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposPingWebhookError,\n      ReposPingWebhookVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposPingWebhookError,\n    ReposPingWebhookVariables\n  >(\n    (variables: ReposPingWebhookVariables) =>\n      fetchReposPingWebhook({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposTestPushWebhookPathParams = {\n  owner: string;\n  repo: string;\n  hookId: number;\n};\n\nexport type ReposTestPushWebhookError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposTestPushWebhookVariables = {\n  pathParams: ReposTestPushWebhookPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated.\n *\n * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test`\n */\nexport const fetchReposTestPushWebhook = (\n  variables: ReposTestPushWebhookVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposTestPushWebhookError,\n    undefined,\n    {},\n    {},\n    ReposTestPushWebhookPathParams\n  >({\n    url: '/repos/{owner}/{repo}/hooks/{hookId}/tests',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated.\n *\n * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test`\n */\nexport const useReposTestPushWebhook = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposTestPushWebhookError,\n      ReposTestPushWebhookVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposTestPushWebhookError,\n    ReposTestPushWebhookVariables\n  >(\n    (variables: ReposTestPushWebhookVariables) =>\n      fetchReposTestPushWebhook({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type MigrationsCancelImportPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type MigrationsCancelImportError = Fetcher.ErrorWrapper<undefined>;\n\nexport type MigrationsCancelImportVariables = {\n  pathParams: MigrationsCancelImportPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Stop an import for a repository.\n */\nexport const fetchMigrationsCancelImport = (\n  variables: MigrationsCancelImportVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    MigrationsCancelImportError,\n    undefined,\n    {},\n    {},\n    MigrationsCancelImportPathParams\n  >({\n    url: '/repos/{owner}/{repo}/import',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Stop an import for a repository.\n */\nexport const useMigrationsCancelImport = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      MigrationsCancelImportError,\n      MigrationsCancelImportVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    MigrationsCancelImportError,\n    MigrationsCancelImportVariables\n  >(\n    (variables: MigrationsCancelImportVariables) =>\n      fetchMigrationsCancelImport({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type MigrationsGetImportStatusPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type MigrationsGetImportStatusError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type MigrationsGetImportStatusVariables = {\n  pathParams: MigrationsGetImportStatusPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * View the progress of an import.\n *\n * **Import status**\n *\n * This section includes details about the possible values of the `status` field of the Import Progress response.\n *\n * An import that does not have errors will progress through these steps:\n *\n * *   `detecting` - the \"detection\" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL.\n * *   `importing` - the \"raw\" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import).\n * *   `mapping` - the \"rewrite\" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information.\n * *   `pushing` - the \"push\" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is \"Writing objects\".\n * *   `complete` - the import is complete, and the repository is ready on GitHub.\n *\n * If there are problems, you will see one of these in the `status` field:\n *\n * *   `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.\n * *   `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com) for more information.\n * *   `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.\n * *   `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL.\n * *   `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.\n *\n * **The project_choices field**\n *\n * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type.\n *\n * **Git LFS related fields**\n *\n * This section includes details about Git LFS related fields that may be present in the Import Progress response.\n *\n * *   `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken.\n * *   `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step.\n * *   `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository.\n * *   `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a \"Get Large Files\" request.\n */\nexport const fetchMigrationsGetImportStatus = (\n  variables: MigrationsGetImportStatusVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Import,\n    MigrationsGetImportStatusError,\n    undefined,\n    {},\n    {},\n    MigrationsGetImportStatusPathParams\n  >({\n    url: '/repos/{owner}/{repo}/import',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * View the progress of an import.\n *\n * **Import status**\n *\n * This section includes details about the possible values of the `status` field of the Import Progress response.\n *\n * An import that does not have errors will progress through these steps:\n *\n * *   `detecting` - the \"detection\" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL.\n * *   `importing` - the \"raw\" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import).\n * *   `mapping` - the \"rewrite\" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information.\n * *   `pushing` - the \"push\" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is \"Writing objects\".\n * *   `complete` - the import is complete, and the repository is ready on GitHub.\n *\n * If there are problems, you will see one of these in the `status` field:\n *\n * *   `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.\n * *   `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com) for more information.\n * *   `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.\n * *   `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL.\n * *   `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.\n *\n * **The project_choices field**\n *\n * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type.\n *\n * **Git LFS related fields**\n *\n * This section includes details about Git LFS related fields that may be present in the Import Progress response.\n *\n * *   `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken.\n * *   `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step.\n * *   `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository.\n * *   `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a \"Get Large Files\" request.\n */\nexport const useMigrationsGetImportStatus = <TData = Schemas.Import>(\n  variables: MigrationsGetImportStatusVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Import,\n      MigrationsGetImportStatusError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Import,\n    MigrationsGetImportStatusError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/import',\n      operationId: 'migrationsGetImportStatus',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchMigrationsGetImportStatus(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type MigrationsUpdateImportPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type MigrationsUpdateImportError = Fetcher.ErrorWrapper<undefined>;\n\nexport type MigrationsUpdateImportRequestBody = {\n  /**\n   * @example \"project1\"\n   */\n  tfvc_project?: string;\n  /**\n   * @example \"git\"\n   */\n  vcs?: string;\n  /**\n   * The password to provide to the originating repository.\n   */\n  vcs_password?: string;\n  /**\n   * The username to provide to the originating repository.\n   */\n  vcs_username?: string;\n};\n\nexport type MigrationsUpdateImportVariables = {\n  body?: MigrationsUpdateImportRequestBody;\n  pathParams: MigrationsUpdateImportPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API\n * request. If no parameters are provided, the import will be restarted.\n */\nexport const fetchMigrationsUpdateImport = (\n  variables: MigrationsUpdateImportVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Import,\n    MigrationsUpdateImportError,\n    MigrationsUpdateImportRequestBody,\n    {},\n    {},\n    MigrationsUpdateImportPathParams\n  >({\n    url: '/repos/{owner}/{repo}/import',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API\n * request. If no parameters are provided, the import will be restarted.\n */\nexport const useMigrationsUpdateImport = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Import,\n      MigrationsUpdateImportError,\n      MigrationsUpdateImportVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Import,\n    MigrationsUpdateImportError,\n    MigrationsUpdateImportVariables\n  >(\n    (variables: MigrationsUpdateImportVariables) =>\n      fetchMigrationsUpdateImport({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type MigrationsStartImportPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type MigrationsStartImportError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type MigrationsStartImportRequestBody = {\n  /**\n   * For a tfvc import, the name of the project that is being imported.\n   */\n  tfvc_project?: string;\n  /**\n   * The originating VCS type. Can be one of `subversion`, `git`, `mercurial`, or `tfvc`. Please be aware that without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response.\n   */\n  vcs?: 'subversion' | 'git' | 'mercurial' | 'tfvc';\n  /**\n   * If authentication is required, the password to provide to `vcs_url`.\n   */\n  vcs_password?: string;\n  /**\n   * The URL of the originating repository.\n   */\n  vcs_url: string;\n  /**\n   * If authentication is required, the username to provide to `vcs_url`.\n   */\n  vcs_username?: string;\n};\n\nexport type MigrationsStartImportVariables = {\n  body: MigrationsStartImportRequestBody;\n  pathParams: MigrationsStartImportPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Start a source import to a GitHub repository using GitHub Importer.\n */\nexport const fetchMigrationsStartImport = (\n  variables: MigrationsStartImportVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Import,\n    MigrationsStartImportError,\n    MigrationsStartImportRequestBody,\n    {},\n    {},\n    MigrationsStartImportPathParams\n  >({\n    url: '/repos/{owner}/{repo}/import',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Start a source import to a GitHub repository using GitHub Importer.\n */\nexport const useMigrationsStartImport = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Import,\n      MigrationsStartImportError,\n      MigrationsStartImportVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Import,\n    MigrationsStartImportError,\n    MigrationsStartImportVariables\n  >(\n    (variables: MigrationsStartImportVariables) =>\n      fetchMigrationsStartImport({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type MigrationsGetCommitAuthorsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type MigrationsGetCommitAuthorsQueryParams = {\n  /**\n   * A user ID. Only return users with an ID greater than this ID.\n   */\n  since?: number;\n};\n\nexport type MigrationsGetCommitAuthorsError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type MigrationsGetCommitAuthorsResponse = Schemas.PorterAuthor[];\n\nexport type MigrationsGetCommitAuthorsVariables = {\n  pathParams: MigrationsGetCommitAuthorsPathParams;\n  queryParams?: MigrationsGetCommitAuthorsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot <hubot@12341234-abab-fefe-8787-fedcba987654>`.\n *\n * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information.\n */\nexport const fetchMigrationsGetCommitAuthors = (\n  variables: MigrationsGetCommitAuthorsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    MigrationsGetCommitAuthorsResponse,\n    MigrationsGetCommitAuthorsError,\n    undefined,\n    {},\n    MigrationsGetCommitAuthorsQueryParams,\n    MigrationsGetCommitAuthorsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/import/authors',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot <hubot@12341234-abab-fefe-8787-fedcba987654>`.\n *\n * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information.\n */\nexport const useMigrationsGetCommitAuthors = <\n  TData = MigrationsGetCommitAuthorsResponse,\n>(\n  variables: MigrationsGetCommitAuthorsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      MigrationsGetCommitAuthorsResponse,\n      MigrationsGetCommitAuthorsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    MigrationsGetCommitAuthorsResponse,\n    MigrationsGetCommitAuthorsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/import/authors',\n      operationId: 'migrationsGetCommitAuthors',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchMigrationsGetCommitAuthors(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type MigrationsMapCommitAuthorPathParams = {\n  owner: string;\n  repo: string;\n  authorId: number;\n};\n\nexport type MigrationsMapCommitAuthorError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type MigrationsMapCommitAuthorRequestBody = {\n  /**\n   * The new Git author email.\n   */\n  email?: string;\n  /**\n   * The new Git author name.\n   */\n  name?: string;\n  /**\n   * @example \"can't touch this\"\n   */\n  remote_id?: string;\n};\n\nexport type MigrationsMapCommitAuthorVariables = {\n  body?: MigrationsMapCommitAuthorRequestBody;\n  pathParams: MigrationsMapCommitAuthorPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository.\n */\nexport const fetchMigrationsMapCommitAuthor = (\n  variables: MigrationsMapCommitAuthorVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PorterAuthor,\n    MigrationsMapCommitAuthorError,\n    MigrationsMapCommitAuthorRequestBody,\n    {},\n    {},\n    MigrationsMapCommitAuthorPathParams\n  >({\n    url: '/repos/{owner}/{repo}/import/authors/{authorId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository.\n */\nexport const useMigrationsMapCommitAuthor = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PorterAuthor,\n      MigrationsMapCommitAuthorError,\n      MigrationsMapCommitAuthorVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PorterAuthor,\n    MigrationsMapCommitAuthorError,\n    MigrationsMapCommitAuthorVariables\n  >(\n    (variables: MigrationsMapCommitAuthorVariables) =>\n      fetchMigrationsMapCommitAuthor({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type MigrationsGetLargeFilesPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type MigrationsGetLargeFilesError = Fetcher.ErrorWrapper<undefined>;\n\nexport type MigrationsGetLargeFilesResponse = Schemas.PorterLargeFile[];\n\nexport type MigrationsGetLargeFilesVariables = {\n  pathParams: MigrationsGetLargeFilesPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List files larger than 100MB found during the import\n */\nexport const fetchMigrationsGetLargeFiles = (\n  variables: MigrationsGetLargeFilesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    MigrationsGetLargeFilesResponse,\n    MigrationsGetLargeFilesError,\n    undefined,\n    {},\n    {},\n    MigrationsGetLargeFilesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/import/large_files',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List files larger than 100MB found during the import\n */\nexport const useMigrationsGetLargeFiles = <\n  TData = MigrationsGetLargeFilesResponse,\n>(\n  variables: MigrationsGetLargeFilesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      MigrationsGetLargeFilesResponse,\n      MigrationsGetLargeFilesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    MigrationsGetLargeFilesResponse,\n    MigrationsGetLargeFilesError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/import/large_files',\n      operationId: 'migrationsGetLargeFiles',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchMigrationsGetLargeFiles({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type MigrationsSetLfsPreferencePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type MigrationsSetLfsPreferenceError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type MigrationsSetLfsPreferenceRequestBody = {\n  /**\n   * Can be one of `opt_in` (large files will be stored using Git LFS) or `opt_out` (large files will be removed during the import).\n   */\n  use_lfs: 'opt_in' | 'opt_out';\n};\n\nexport type MigrationsSetLfsPreferenceVariables = {\n  body: MigrationsSetLfsPreferenceRequestBody;\n  pathParams: MigrationsSetLfsPreferencePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/).\n */\nexport const fetchMigrationsSetLfsPreference = (\n  variables: MigrationsSetLfsPreferenceVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Import,\n    MigrationsSetLfsPreferenceError,\n    MigrationsSetLfsPreferenceRequestBody,\n    {},\n    {},\n    MigrationsSetLfsPreferencePathParams\n  >({\n    url: '/repos/{owner}/{repo}/import/lfs',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://help.github.com/articles/versioning-large-files/).\n */\nexport const useMigrationsSetLfsPreference = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Import,\n      MigrationsSetLfsPreferenceError,\n      MigrationsSetLfsPreferenceVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Import,\n    MigrationsSetLfsPreferenceError,\n    MigrationsSetLfsPreferenceVariables\n  >(\n    (variables: MigrationsSetLfsPreferenceVariables) =>\n      fetchMigrationsSetLfsPreference({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsGetRepoInstallationPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type AppsGetRepoInstallationError = Fetcher.ErrorWrapper<\n  | {\n      status: 301;\n      payload: Responses.MovedPermanently;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type AppsGetRepoInstallationVariables = {\n  pathParams: AppsGetRepoInstallationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const fetchAppsGetRepoInstallation = (\n  variables: AppsGetRepoInstallationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Installation,\n    AppsGetRepoInstallationError,\n    undefined,\n    {},\n    {},\n    AppsGetRepoInstallationPathParams\n  >({\n    url: '/repos/{owner}/{repo}/installation',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const useAppsGetRepoInstallation = <TData = Schemas.Installation>(\n  variables: AppsGetRepoInstallationVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Installation,\n      AppsGetRepoInstallationError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Installation,\n    AppsGetRepoInstallationError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/installation',\n      operationId: 'appsGetRepoInstallation',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsGetRepoInstallation({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type InteractionsRemoveRestrictionsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type InteractionsRemoveRestrictionsForRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type InteractionsRemoveRestrictionsForRepoVariables = {\n  pathParams: InteractionsRemoveRestrictionsForRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository.\n */\nexport const fetchInteractionsRemoveRestrictionsForRepo = (\n  variables: InteractionsRemoveRestrictionsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    InteractionsRemoveRestrictionsForRepoError,\n    undefined,\n    {},\n    {},\n    InteractionsRemoveRestrictionsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/interaction-limits',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository.\n */\nexport const useInteractionsRemoveRestrictionsForRepo = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      InteractionsRemoveRestrictionsForRepoError,\n      InteractionsRemoveRestrictionsForRepoVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    InteractionsRemoveRestrictionsForRepoError,\n    InteractionsRemoveRestrictionsForRepoVariables\n  >(\n    (variables: InteractionsRemoveRestrictionsForRepoVariables) =>\n      fetchInteractionsRemoveRestrictionsForRepo({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type InteractionsGetRestrictionsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type InteractionsGetRestrictionsForRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type InteractionsGetRestrictionsForRepoVariables = {\n  pathParams: InteractionsGetRestrictionsForRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response.\n */\nexport const fetchInteractionsGetRestrictionsForRepo = (\n  variables: InteractionsGetRestrictionsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.InteractionLimitResponse,\n    InteractionsGetRestrictionsForRepoError,\n    undefined,\n    {},\n    {},\n    InteractionsGetRestrictionsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/interaction-limits',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response.\n */\nexport const useInteractionsGetRestrictionsForRepo = <\n  TData = Schemas.InteractionLimitResponse,\n>(\n  variables: InteractionsGetRestrictionsForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.InteractionLimitResponse,\n      InteractionsGetRestrictionsForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.InteractionLimitResponse,\n    InteractionsGetRestrictionsForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/interaction-limits',\n      operationId: 'interactionsGetRestrictionsForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchInteractionsGetRestrictionsForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type InteractionsSetRestrictionsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type InteractionsSetRestrictionsForRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type InteractionsSetRestrictionsForRepoVariables = {\n  body: Schemas.InteractionLimit;\n  pathParams: InteractionsSetRestrictionsForRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository.\n */\nexport const fetchInteractionsSetRestrictionsForRepo = (\n  variables: InteractionsSetRestrictionsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.InteractionLimitResponse,\n    InteractionsSetRestrictionsForRepoError,\n    Schemas.InteractionLimit,\n    {},\n    {},\n    InteractionsSetRestrictionsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/interaction-limits',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository.\n */\nexport const useInteractionsSetRestrictionsForRepo = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.InteractionLimitResponse,\n      InteractionsSetRestrictionsForRepoError,\n      InteractionsSetRestrictionsForRepoVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.InteractionLimitResponse,\n    InteractionsSetRestrictionsForRepoError,\n    InteractionsSetRestrictionsForRepoVariables\n  >(\n    (variables: InteractionsSetRestrictionsForRepoVariables) =>\n      fetchInteractionsSetRestrictionsForRepo({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposListInvitationsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListInvitationsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListInvitationsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposListInvitationsResponse = Schemas.RepositoryInvitation[];\n\nexport type ReposListInvitationsVariables = {\n  pathParams: ReposListInvitationsPathParams;\n  queryParams?: ReposListInvitationsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations.\n */\nexport const fetchReposListInvitations = (\n  variables: ReposListInvitationsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListInvitationsResponse,\n    ReposListInvitationsError,\n    undefined,\n    {},\n    ReposListInvitationsQueryParams,\n    ReposListInvitationsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/invitations',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations.\n */\nexport const useReposListInvitations = <TData = ReposListInvitationsResponse>(\n  variables: ReposListInvitationsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListInvitationsResponse,\n      ReposListInvitationsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListInvitationsResponse,\n    ReposListInvitationsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/invitations',\n      operationId: 'reposListInvitations',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListInvitations({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposDeleteInvitationPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * invitation_id parameter\n   */\n  invitationId: number;\n};\n\nexport type ReposDeleteInvitationError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposDeleteInvitationVariables = {\n  pathParams: ReposDeleteInvitationPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposDeleteInvitation = (\n  variables: ReposDeleteInvitationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteInvitationError,\n    undefined,\n    {},\n    {},\n    ReposDeleteInvitationPathParams\n  >({\n    url: '/repos/{owner}/{repo}/invitations/{invitationId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useReposDeleteInvitation = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteInvitationError,\n      ReposDeleteInvitationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteInvitationError,\n    ReposDeleteInvitationVariables\n  >(\n    (variables: ReposDeleteInvitationVariables) =>\n      fetchReposDeleteInvitation({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposUpdateInvitationPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * invitation_id parameter\n   */\n  invitationId: number;\n};\n\nexport type ReposUpdateInvitationError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposUpdateInvitationRequestBody = {\n  /**\n   * The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`.\n   */\n  permissions?: 'read' | 'write' | 'maintain' | 'triage' | 'admin';\n};\n\nexport type ReposUpdateInvitationVariables = {\n  body?: ReposUpdateInvitationRequestBody;\n  pathParams: ReposUpdateInvitationPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposUpdateInvitation = (\n  variables: ReposUpdateInvitationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RepositoryInvitation,\n    ReposUpdateInvitationError,\n    ReposUpdateInvitationRequestBody,\n    {},\n    {},\n    ReposUpdateInvitationPathParams\n  >({\n    url: '/repos/{owner}/{repo}/invitations/{invitationId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\nexport const useReposUpdateInvitation = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.RepositoryInvitation,\n      ReposUpdateInvitationError,\n      ReposUpdateInvitationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.RepositoryInvitation,\n    ReposUpdateInvitationError,\n    ReposUpdateInvitationVariables\n  >(\n    (variables: ReposUpdateInvitationVariables) =>\n      fetchReposUpdateInvitation({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesListForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type IssuesListForRepoQueryParams = {\n  /**\n   * If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned.\n   */\n  milestone?: string;\n  /**\n   * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.\n   *\n   * @default open\n   */\n  state?: 'open' | 'closed' | 'all';\n  /**\n   * Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user.\n   */\n  assignee?: string;\n  /**\n   * The user that created the issue.\n   */\n  creator?: string;\n  /**\n   * A user that's mentioned in the issue.\n   */\n  mentioned?: string;\n  /**\n   * A list of comma separated label names. Example: `bug,ui,@high`\n   */\n  labels?: string;\n  /**\n   * What to sort results by. Can be either `created`, `updated`, `comments`.\n   *\n   * @default created\n   */\n  sort?: 'created' | 'updated' | 'comments';\n  /**\n   * One of `asc` (ascending) or `desc` (descending).\n   *\n   * @default desc\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListForRepoError = Fetcher.ErrorWrapper<\n  | {\n      status: 301;\n      payload: Responses.MovedPermanently;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type IssuesListForRepoResponse = Schemas.IssueSimple[];\n\nexport type IssuesListForRepoVariables = {\n  pathParams: IssuesListForRepoPathParams;\n  queryParams?: IssuesListForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List issues in a repository.\n *\n * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\n * reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\n * the `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\n * request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.\n */\nexport const fetchIssuesListForRepo = (\n  variables: IssuesListForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListForRepoResponse,\n    IssuesListForRepoError,\n    undefined,\n    {},\n    IssuesListForRepoQueryParams,\n    IssuesListForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List issues in a repository.\n *\n * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\n * reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\n * the `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\n * request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.\n */\nexport const useIssuesListForRepo = <TData = IssuesListForRepoResponse>(\n  variables: IssuesListForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListForRepoResponse,\n      IssuesListForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListForRepoResponse,\n    IssuesListForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/issues',\n      operationId: 'issuesListForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListForRepo({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesCreatePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type IssuesCreateError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type IssuesCreateRequestBody = {\n  /**\n   * Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_\n   */\n  assignee?: string | null;\n  /**\n   * Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._\n   */\n  assignees?: string[];\n  /**\n   * The contents of the issue.\n   */\n  body?: string;\n  /**\n   * Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._\n   */\n  labels?: (\n    | string\n    | {\n        color?: string | null;\n        description?: string | null;\n        id?: number;\n        name?: string;\n      }\n  )[];\n  milestone?: string | number | null;\n  /**\n   * The title of the issue.\n   */\n  title: string | number;\n};\n\nexport type IssuesCreateVariables = {\n  body: IssuesCreateRequestBody;\n  pathParams: IssuesCreatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.\n */\nexport const fetchIssuesCreate = (\n  variables: IssuesCreateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Issue,\n    IssuesCreateError,\n    IssuesCreateRequestBody,\n    {},\n    {},\n    IssuesCreatePathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://help.github.com/articles/disabling-issues/), the API returns a `410 Gone` status.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.\n */\nexport const useIssuesCreate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Issue,\n      IssuesCreateError,\n      IssuesCreateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Issue,\n    IssuesCreateError,\n    IssuesCreateVariables\n  >(\n    (variables: IssuesCreateVariables) =>\n      fetchIssuesCreate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesListCommentsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type IssuesListCommentsForRepoQueryParams = {\n  /**\n   * One of `created` (when the repository was starred) or `updated` (when it was last pushed to).\n   *\n   * @default created\n   */\n  sort?: 'created' | 'updated';\n  /**\n   * Either `asc` or `desc`. Ignored without the `sort` parameter.\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListCommentsForRepoError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type IssuesListCommentsForRepoResponse = Schemas.IssueComment[];\n\nexport type IssuesListCommentsForRepoVariables = {\n  pathParams: IssuesListCommentsForRepoPathParams;\n  queryParams?: IssuesListCommentsForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * By default, Issue Comments are ordered by ascending ID.\n */\nexport const fetchIssuesListCommentsForRepo = (\n  variables: IssuesListCommentsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListCommentsForRepoResponse,\n    IssuesListCommentsForRepoError,\n    undefined,\n    {},\n    IssuesListCommentsForRepoQueryParams,\n    IssuesListCommentsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/comments',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * By default, Issue Comments are ordered by ascending ID.\n */\nexport const useIssuesListCommentsForRepo = <\n  TData = IssuesListCommentsForRepoResponse,\n>(\n  variables: IssuesListCommentsForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListCommentsForRepoResponse,\n      IssuesListCommentsForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListCommentsForRepoResponse,\n    IssuesListCommentsForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/issues/comments',\n      operationId: 'issuesListCommentsForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListCommentsForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesDeleteCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type IssuesDeleteCommentError = Fetcher.ErrorWrapper<undefined>;\n\nexport type IssuesDeleteCommentVariables = {\n  pathParams: IssuesDeleteCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesDeleteComment = (\n  variables: IssuesDeleteCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    IssuesDeleteCommentError,\n    undefined,\n    {},\n    {},\n    IssuesDeleteCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/comments/{commentId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesDeleteComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      IssuesDeleteCommentError,\n      IssuesDeleteCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    IssuesDeleteCommentError,\n    IssuesDeleteCommentVariables\n  >(\n    (variables: IssuesDeleteCommentVariables) =>\n      fetchIssuesDeleteComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesGetCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type IssuesGetCommentError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type IssuesGetCommentVariables = {\n  pathParams: IssuesGetCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesGetComment = (\n  variables: IssuesGetCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.IssueComment,\n    IssuesGetCommentError,\n    undefined,\n    {},\n    {},\n    IssuesGetCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/comments/{commentId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesGetComment = <TData = Schemas.IssueComment>(\n  variables: IssuesGetCommentVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.IssueComment,\n      IssuesGetCommentError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.IssueComment,\n    IssuesGetCommentError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/issues/comments/{comment_id}',\n      operationId: 'issuesGetComment',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesGetComment({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesUpdateCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type IssuesUpdateCommentError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type IssuesUpdateCommentRequestBody = {\n  /**\n   * The contents of the comment.\n   */\n  body: string;\n};\n\nexport type IssuesUpdateCommentVariables = {\n  body: IssuesUpdateCommentRequestBody;\n  pathParams: IssuesUpdateCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesUpdateComment = (\n  variables: IssuesUpdateCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.IssueComment,\n    IssuesUpdateCommentError,\n    IssuesUpdateCommentRequestBody,\n    {},\n    {},\n    IssuesUpdateCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/comments/{commentId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesUpdateComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.IssueComment,\n      IssuesUpdateCommentError,\n      IssuesUpdateCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.IssueComment,\n    IssuesUpdateCommentError,\n    IssuesUpdateCommentVariables\n  >(\n    (variables: IssuesUpdateCommentVariables) =>\n      fetchIssuesUpdateComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReactionsListForIssueCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type ReactionsListForIssueCommentQueryParams = {\n  /**\n   * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment.\n   */\n  content?:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReactionsListForIssueCommentError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type ReactionsListForIssueCommentResponse = Schemas.Reaction[];\n\nexport type ReactionsListForIssueCommentVariables = {\n  pathParams: ReactionsListForIssueCommentPathParams;\n  queryParams?: ReactionsListForIssueCommentQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments).\n */\nexport const fetchReactionsListForIssueComment = (\n  variables: ReactionsListForIssueCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReactionsListForIssueCommentResponse,\n    ReactionsListForIssueCommentError,\n    undefined,\n    {},\n    ReactionsListForIssueCommentQueryParams,\n    ReactionsListForIssueCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/comments/{commentId}/reactions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments).\n */\nexport const useReactionsListForIssueComment = <\n  TData = ReactionsListForIssueCommentResponse,\n>(\n  variables: ReactionsListForIssueCommentVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReactionsListForIssueCommentResponse,\n      ReactionsListForIssueCommentError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReactionsListForIssueCommentResponse,\n    ReactionsListForIssueCommentError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions',\n      operationId: 'reactionsListForIssueComment',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReactionsListForIssueComment(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReactionsCreateForIssueCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type ReactionsCreateForIssueCommentError = Fetcher.ErrorWrapper<\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReactionsCreateForIssueCommentRequestBody = {\n  /**\n   * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment.\n   */\n  content:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n};\n\nexport type ReactionsCreateForIssueCommentVariables = {\n  body: ReactionsCreateForIssueCommentRequestBody;\n  pathParams: ReactionsCreateForIssueCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this issue comment.\n */\nexport const fetchReactionsCreateForIssueComment = (\n  variables: ReactionsCreateForIssueCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Reaction,\n    ReactionsCreateForIssueCommentError,\n    ReactionsCreateForIssueCommentRequestBody,\n    {},\n    {},\n    ReactionsCreateForIssueCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/comments/{commentId}/reactions',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this issue comment.\n */\nexport const useReactionsCreateForIssueComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Reaction,\n      ReactionsCreateForIssueCommentError,\n      ReactionsCreateForIssueCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Reaction,\n    ReactionsCreateForIssueCommentError,\n    ReactionsCreateForIssueCommentVariables\n  >(\n    (variables: ReactionsCreateForIssueCommentVariables) =>\n      fetchReactionsCreateForIssueComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReactionsDeleteForIssueCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n  reactionId: number;\n};\n\nexport type ReactionsDeleteForIssueCommentError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsDeleteForIssueCommentVariables = {\n  pathParams: ReactionsDeleteForIssueCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`.\n *\n * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments).\n */\nexport const fetchReactionsDeleteForIssueComment = (\n  variables: ReactionsDeleteForIssueCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReactionsDeleteForIssueCommentError,\n    undefined,\n    {},\n    {},\n    ReactionsDeleteForIssueCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/comments/{commentId}/reactions/{reactionId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`.\n *\n * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments).\n */\nexport const useReactionsDeleteForIssueComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReactionsDeleteForIssueCommentError,\n      ReactionsDeleteForIssueCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReactionsDeleteForIssueCommentError,\n    ReactionsDeleteForIssueCommentVariables\n  >(\n    (variables: ReactionsDeleteForIssueCommentVariables) =>\n      fetchReactionsDeleteForIssueComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesListEventsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type IssuesListEventsForRepoQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListEventsForRepoError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type IssuesListEventsForRepoResponse = Schemas.IssueEvent[];\n\nexport type IssuesListEventsForRepoVariables = {\n  pathParams: IssuesListEventsForRepoPathParams;\n  queryParams?: IssuesListEventsForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesListEventsForRepo = (\n  variables: IssuesListEventsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListEventsForRepoResponse,\n    IssuesListEventsForRepoError,\n    undefined,\n    {},\n    IssuesListEventsForRepoQueryParams,\n    IssuesListEventsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/events',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesListEventsForRepo = <\n  TData = IssuesListEventsForRepoResponse,\n>(\n  variables: IssuesListEventsForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListEventsForRepoResponse,\n      IssuesListEventsForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListEventsForRepoResponse,\n    IssuesListEventsForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/issues/events',\n      operationId: 'issuesListEventsForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListEventsForRepo({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesGetEventPathParams = {\n  owner: string;\n  repo: string;\n  eventId: number;\n};\n\nexport type IssuesGetEventError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n>;\n\nexport type IssuesGetEventVariables = {\n  pathParams: IssuesGetEventPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesGetEvent = (\n  variables: IssuesGetEventVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.IssueEvent,\n    IssuesGetEventError,\n    undefined,\n    {},\n    {},\n    IssuesGetEventPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/events/{eventId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesGetEvent = <TData = Schemas.IssueEvent>(\n  variables: IssuesGetEventVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.IssueEvent, IssuesGetEventError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.IssueEvent, IssuesGetEventError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/issues/events/{event_id}',\n      operationId: 'issuesGetEvent',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesGetEvent({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesGetPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesGetError = Fetcher.ErrorWrapper<\n  | {\n      status: 301;\n      payload: Responses.MovedPermanently;\n    }\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n>;\n\nexport type IssuesGetVariables = {\n  pathParams: IssuesGetPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was\n * [transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If\n * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API\n * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read\n * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe\n * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook.\n *\n * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\n * reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\n * the `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\n * request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.\n */\nexport const fetchIssuesGet = (\n  variables: IssuesGetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Issue,\n    IssuesGetError,\n    undefined,\n    {},\n    {},\n    IssuesGetPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was\n * [transferred](https://help.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If\n * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API\n * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read\n * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe\n * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook.\n *\n * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\n * reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\n * the `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\n * request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.\n */\nexport const useIssuesGet = <TData = Schemas.Issue>(\n  variables: IssuesGetVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.Issue, IssuesGetError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Issue, IssuesGetError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/issues/{issue_number}',\n      operationId: 'issuesGet',\n      variables,\n    }),\n    ({ signal }) => fetchIssuesGet({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesUpdatePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesUpdateError = Fetcher.ErrorWrapper<\n  | {\n      status: 301;\n      payload: Responses.MovedPermanently;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type IssuesUpdateRequestBody = {\n  /**\n   * Login for the user that this issue should be assigned to. **This field is deprecated.**\n   */\n  assignee?: string | null;\n  /**\n   * Logins for Users to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this Issue. Send an empty array (`[]`) to clear all assignees from the Issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._\n   */\n  assignees?: string[];\n  /**\n   * The contents of the issue.\n   */\n  body?: string | null;\n  /**\n   * Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._\n   */\n  labels?: (\n    | string\n    | {\n        color?: string | null;\n        description?: string | null;\n        id?: number;\n        name?: string;\n      }\n  )[];\n  milestone?: string | number | null;\n  /**\n   * State of the issue. Either `open` or `closed`.\n   */\n  state?: 'open' | 'closed';\n  /**\n   * The title of the issue.\n   */\n  title?: string | number | null;\n};\n\nexport type IssuesUpdateVariables = {\n  body?: IssuesUpdateRequestBody;\n  pathParams: IssuesUpdatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Issue owners and users with push access can edit an issue.\n */\nexport const fetchIssuesUpdate = (\n  variables: IssuesUpdateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Issue,\n    IssuesUpdateError,\n    IssuesUpdateRequestBody,\n    {},\n    {},\n    IssuesUpdatePathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Issue owners and users with push access can edit an issue.\n */\nexport const useIssuesUpdate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Issue,\n      IssuesUpdateError,\n      IssuesUpdateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Issue,\n    IssuesUpdateError,\n    IssuesUpdateVariables\n  >(\n    (variables: IssuesUpdateVariables) =>\n      fetchIssuesUpdate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesRemoveAssigneesPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesRemoveAssigneesError = Fetcher.ErrorWrapper<undefined>;\n\nexport type IssuesRemoveAssigneesRequestBody = {\n  /**\n   * Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._\n   */\n  assignees?: string[];\n};\n\nexport type IssuesRemoveAssigneesVariables = {\n  body?: IssuesRemoveAssigneesRequestBody;\n  pathParams: IssuesRemoveAssigneesPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removes one or more assignees from an issue.\n */\nexport const fetchIssuesRemoveAssignees = (\n  variables: IssuesRemoveAssigneesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.IssueSimple,\n    IssuesRemoveAssigneesError,\n    IssuesRemoveAssigneesRequestBody,\n    {},\n    {},\n    IssuesRemoveAssigneesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/assignees',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removes one or more assignees from an issue.\n */\nexport const useIssuesRemoveAssignees = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.IssueSimple,\n      IssuesRemoveAssigneesError,\n      IssuesRemoveAssigneesVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.IssueSimple,\n    IssuesRemoveAssigneesError,\n    IssuesRemoveAssigneesVariables\n  >(\n    (variables: IssuesRemoveAssigneesVariables) =>\n      fetchIssuesRemoveAssignees({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesAddAssigneesPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesAddAssigneesError = Fetcher.ErrorWrapper<undefined>;\n\nexport type IssuesAddAssigneesRequestBody = {\n  /**\n   * Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._\n   */\n  assignees?: string[];\n};\n\nexport type IssuesAddAssigneesVariables = {\n  body?: IssuesAddAssigneesRequestBody;\n  pathParams: IssuesAddAssigneesPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced.\n */\nexport const fetchIssuesAddAssignees = (\n  variables: IssuesAddAssigneesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.IssueSimple,\n    IssuesAddAssigneesError,\n    IssuesAddAssigneesRequestBody,\n    {},\n    {},\n    IssuesAddAssigneesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/assignees',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced.\n */\nexport const useIssuesAddAssignees = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.IssueSimple,\n      IssuesAddAssigneesError,\n      IssuesAddAssigneesVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.IssueSimple,\n    IssuesAddAssigneesError,\n    IssuesAddAssigneesVariables\n  >(\n    (variables: IssuesAddAssigneesVariables) =>\n      fetchIssuesAddAssignees({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesListCommentsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesListCommentsQueryParams = {\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListCommentsError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n>;\n\nexport type IssuesListCommentsResponse = Schemas.IssueComment[];\n\nexport type IssuesListCommentsVariables = {\n  pathParams: IssuesListCommentsPathParams;\n  queryParams?: IssuesListCommentsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Issue Comments are ordered by ascending ID.\n */\nexport const fetchIssuesListComments = (\n  variables: IssuesListCommentsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListCommentsResponse,\n    IssuesListCommentsError,\n    undefined,\n    {},\n    IssuesListCommentsQueryParams,\n    IssuesListCommentsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/comments',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Issue Comments are ordered by ascending ID.\n */\nexport const useIssuesListComments = <TData = IssuesListCommentsResponse>(\n  variables: IssuesListCommentsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListCommentsResponse,\n      IssuesListCommentsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListCommentsResponse,\n    IssuesListCommentsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/issues/{issue_number}/comments',\n      operationId: 'issuesListComments',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListComments({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesCreateCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesCreateCommentError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type IssuesCreateCommentRequestBody = {\n  /**\n   * The contents of the comment.\n   */\n  body: string;\n};\n\nexport type IssuesCreateCommentVariables = {\n  body: IssuesCreateCommentRequestBody;\n  pathParams: IssuesCreateCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.\n */\nexport const fetchIssuesCreateComment = (\n  variables: IssuesCreateCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.IssueComment,\n    IssuesCreateCommentError,\n    IssuesCreateCommentRequestBody,\n    {},\n    {},\n    IssuesCreateCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/comments',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.\n */\nexport const useIssuesCreateComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.IssueComment,\n      IssuesCreateCommentError,\n      IssuesCreateCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.IssueComment,\n    IssuesCreateCommentError,\n    IssuesCreateCommentVariables\n  >(\n    (variables: IssuesCreateCommentVariables) =>\n      fetchIssuesCreateComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesListEventsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesListEventsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListEventsError = Fetcher.ErrorWrapper<{\n  status: 410;\n  payload: Responses.Gone;\n}>;\n\nexport type IssuesListEventsResponse = Schemas.IssueEventForIssue[];\n\nexport type IssuesListEventsVariables = {\n  pathParams: IssuesListEventsPathParams;\n  queryParams?: IssuesListEventsQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesListEvents = (\n  variables: IssuesListEventsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListEventsResponse,\n    IssuesListEventsError,\n    undefined,\n    {},\n    IssuesListEventsQueryParams,\n    IssuesListEventsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/events',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesListEvents = <TData = IssuesListEventsResponse>(\n  variables: IssuesListEventsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListEventsResponse,\n      IssuesListEventsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListEventsResponse,\n    IssuesListEventsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/issues/{issue_number}/events',\n      operationId: 'issuesListEvents',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListEvents({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesRemoveAllLabelsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesRemoveAllLabelsError = Fetcher.ErrorWrapper<{\n  status: 410;\n  payload: Responses.Gone;\n}>;\n\nexport type IssuesRemoveAllLabelsVariables = {\n  pathParams: IssuesRemoveAllLabelsPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesRemoveAllLabels = (\n  variables: IssuesRemoveAllLabelsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    IssuesRemoveAllLabelsError,\n    undefined,\n    {},\n    {},\n    IssuesRemoveAllLabelsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/labels',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesRemoveAllLabels = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      IssuesRemoveAllLabelsError,\n      IssuesRemoveAllLabelsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    IssuesRemoveAllLabelsError,\n    IssuesRemoveAllLabelsVariables\n  >(\n    (variables: IssuesRemoveAllLabelsVariables) =>\n      fetchIssuesRemoveAllLabels({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesListLabelsOnIssuePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesListLabelsOnIssueQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListLabelsOnIssueError = Fetcher.ErrorWrapper<{\n  status: 410;\n  payload: Responses.Gone;\n}>;\n\nexport type IssuesListLabelsOnIssueResponse = Schemas.Label[];\n\nexport type IssuesListLabelsOnIssueVariables = {\n  pathParams: IssuesListLabelsOnIssuePathParams;\n  queryParams?: IssuesListLabelsOnIssueQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesListLabelsOnIssue = (\n  variables: IssuesListLabelsOnIssueVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListLabelsOnIssueResponse,\n    IssuesListLabelsOnIssueError,\n    undefined,\n    {},\n    IssuesListLabelsOnIssueQueryParams,\n    IssuesListLabelsOnIssuePathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/labels',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesListLabelsOnIssue = <\n  TData = IssuesListLabelsOnIssueResponse,\n>(\n  variables: IssuesListLabelsOnIssueVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListLabelsOnIssueResponse,\n      IssuesListLabelsOnIssueError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListLabelsOnIssueResponse,\n    IssuesListLabelsOnIssueError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/issues/{issue_number}/labels',\n      operationId: 'issuesListLabelsOnIssue',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListLabelsOnIssue({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesAddLabelsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesAddLabelsError = Fetcher.ErrorWrapper<\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type IssuesAddLabelsResponse = Schemas.Label[];\n\nexport type IssuesAddLabelsRequestBody = {\n  /**\n   * The name of the label to add to the issue. Must contain at least one label. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key.\n   */\n  labels: string[];\n};\n\nexport type IssuesAddLabelsVariables = {\n  body: IssuesAddLabelsRequestBody;\n  pathParams: IssuesAddLabelsPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesAddLabels = (\n  variables: IssuesAddLabelsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesAddLabelsResponse,\n    IssuesAddLabelsError,\n    IssuesAddLabelsRequestBody,\n    {},\n    {},\n    IssuesAddLabelsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/labels',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesAddLabels = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      IssuesAddLabelsResponse,\n      IssuesAddLabelsError,\n      IssuesAddLabelsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    IssuesAddLabelsResponse,\n    IssuesAddLabelsError,\n    IssuesAddLabelsVariables\n  >(\n    (variables: IssuesAddLabelsVariables) =>\n      fetchIssuesAddLabels({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesSetLabelsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesSetLabelsError = Fetcher.ErrorWrapper<\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type IssuesSetLabelsResponse = Schemas.Label[];\n\nexport type IssuesSetLabelsRequestBody = {\n  /**\n   * The names of the labels to add to the issue. You can pass an empty array to remove all labels. **Note:** Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key.\n   */\n  labels?: string[];\n};\n\nexport type IssuesSetLabelsVariables = {\n  body?: IssuesSetLabelsRequestBody;\n  pathParams: IssuesSetLabelsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removes any previous labels and sets the new labels for an issue.\n */\nexport const fetchIssuesSetLabels = (\n  variables: IssuesSetLabelsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesSetLabelsResponse,\n    IssuesSetLabelsError,\n    IssuesSetLabelsRequestBody,\n    {},\n    {},\n    IssuesSetLabelsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/labels',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removes any previous labels and sets the new labels for an issue.\n */\nexport const useIssuesSetLabels = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      IssuesSetLabelsResponse,\n      IssuesSetLabelsError,\n      IssuesSetLabelsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    IssuesSetLabelsResponse,\n    IssuesSetLabelsError,\n    IssuesSetLabelsVariables\n  >(\n    (variables: IssuesSetLabelsVariables) =>\n      fetchIssuesSetLabels({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesRemoveLabelPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n  name: string;\n};\n\nexport type IssuesRemoveLabelError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n>;\n\nexport type IssuesRemoveLabelResponse = Schemas.Label[];\n\nexport type IssuesRemoveLabelVariables = {\n  pathParams: IssuesRemoveLabelPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist.\n */\nexport const fetchIssuesRemoveLabel = (\n  variables: IssuesRemoveLabelVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesRemoveLabelResponse,\n    IssuesRemoveLabelError,\n    undefined,\n    {},\n    {},\n    IssuesRemoveLabelPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/labels/{name}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist.\n */\nexport const useIssuesRemoveLabel = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      IssuesRemoveLabelResponse,\n      IssuesRemoveLabelError,\n      IssuesRemoveLabelVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    IssuesRemoveLabelResponse,\n    IssuesRemoveLabelError,\n    IssuesRemoveLabelVariables\n  >(\n    (variables: IssuesRemoveLabelVariables) =>\n      fetchIssuesRemoveLabel({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesUnlockPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesUnlockError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type IssuesUnlockVariables = {\n  pathParams: IssuesUnlockPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Users with push access can unlock an issue's conversation.\n */\nexport const fetchIssuesUnlock = (\n  variables: IssuesUnlockVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    IssuesUnlockError,\n    undefined,\n    {},\n    {},\n    IssuesUnlockPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/lock',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Users with push access can unlock an issue's conversation.\n */\nexport const useIssuesUnlock = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      IssuesUnlockError,\n      IssuesUnlockVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    IssuesUnlockError,\n    IssuesUnlockVariables\n  >(\n    (variables: IssuesUnlockVariables) =>\n      fetchIssuesUnlock({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesLockPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesLockError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type IssuesLockVariables = {\n  body?: {\n    /**\n     * The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons:\n     * \\* `off-topic`\n     * \\* `too heated`\n     * \\* `resolved`\n     * \\* `spam`\n     */\n    lock_reason?: 'off-topic' | 'too heated' | 'resolved' | 'spam';\n  } | null;\n  pathParams: IssuesLockPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Users with push access can lock an issue or pull request's conversation.\n *\n * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n */\nexport const fetchIssuesLock = (\n  variables: IssuesLockVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    IssuesLockError,\n    {\n      /**\n       * The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons:\n       * \\* `off-topic`\n       * \\* `too heated`\n       * \\* `resolved`\n       * \\* `spam`\n       */\n      lock_reason?: 'off-topic' | 'too heated' | 'resolved' | 'spam';\n    } | null,\n    {},\n    {},\n    IssuesLockPathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/lock',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Users with push access can lock an issue or pull request's conversation.\n *\n * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n */\nexport const useIssuesLock = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      IssuesLockError,\n      IssuesLockVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    IssuesLockError,\n    IssuesLockVariables\n  >(\n    (variables: IssuesLockVariables) =>\n      fetchIssuesLock({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReactionsListForIssuePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type ReactionsListForIssueQueryParams = {\n  /**\n   * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue.\n   */\n  content?:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReactionsListForIssueError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type ReactionsListForIssueResponse = Schemas.Reaction[];\n\nexport type ReactionsListForIssueVariables = {\n  pathParams: ReactionsListForIssuePathParams;\n  queryParams?: ReactionsListForIssueQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List the reactions to an [issue](https://docs.github.com/rest/reference/issues).\n */\nexport const fetchReactionsListForIssue = (\n  variables: ReactionsListForIssueVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReactionsListForIssueResponse,\n    ReactionsListForIssueError,\n    undefined,\n    {},\n    ReactionsListForIssueQueryParams,\n    ReactionsListForIssuePathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/reactions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List the reactions to an [issue](https://docs.github.com/rest/reference/issues).\n */\nexport const useReactionsListForIssue = <TData = ReactionsListForIssueResponse>(\n  variables: ReactionsListForIssueVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReactionsListForIssueResponse,\n      ReactionsListForIssueError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReactionsListForIssueResponse,\n    ReactionsListForIssueError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/issues/{issue_number}/reactions',\n      operationId: 'reactionsListForIssue',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReactionsListForIssue({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReactionsCreateForIssuePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type ReactionsCreateForIssueError = Fetcher.ErrorWrapper<\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReactionsCreateForIssueRequestBody = {\n  /**\n   * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue.\n   */\n  content:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n};\n\nexport type ReactionsCreateForIssueVariables = {\n  body: ReactionsCreateForIssueRequestBody;\n  pathParams: ReactionsCreateForIssuePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue.\n */\nexport const fetchReactionsCreateForIssue = (\n  variables: ReactionsCreateForIssueVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Reaction,\n    ReactionsCreateForIssueError,\n    ReactionsCreateForIssueRequestBody,\n    {},\n    {},\n    ReactionsCreateForIssuePathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/reactions',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with a `Status: 200 OK` means that you already added the reaction type to this issue.\n */\nexport const useReactionsCreateForIssue = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Reaction,\n      ReactionsCreateForIssueError,\n      ReactionsCreateForIssueVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Reaction,\n    ReactionsCreateForIssueError,\n    ReactionsCreateForIssueVariables\n  >(\n    (variables: ReactionsCreateForIssueVariables) =>\n      fetchReactionsCreateForIssue({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReactionsDeleteForIssuePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n  reactionId: number;\n};\n\nexport type ReactionsDeleteForIssueError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsDeleteForIssueVariables = {\n  pathParams: ReactionsDeleteForIssuePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`.\n *\n * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/).\n */\nexport const fetchReactionsDeleteForIssue = (\n  variables: ReactionsDeleteForIssueVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReactionsDeleteForIssueError,\n    undefined,\n    {},\n    {},\n    ReactionsDeleteForIssuePathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/reactions/{reactionId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`.\n *\n * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/).\n */\nexport const useReactionsDeleteForIssue = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReactionsDeleteForIssueError,\n      ReactionsDeleteForIssueVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReactionsDeleteForIssueError,\n    ReactionsDeleteForIssueVariables\n  >(\n    (variables: ReactionsDeleteForIssueVariables) =>\n      fetchReactionsDeleteForIssue({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesListEventsForTimelinePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * issue_number parameter\n   */\n  issueNumber: number;\n};\n\nexport type IssuesListEventsForTimelineQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListEventsForTimelineError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type IssuesListEventsForTimelineResponse = Schemas.IssueEventForIssue[];\n\nexport type IssuesListEventsForTimelineVariables = {\n  pathParams: IssuesListEventsForTimelinePathParams;\n  queryParams?: IssuesListEventsForTimelineQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesListEventsForTimeline = (\n  variables: IssuesListEventsForTimelineVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListEventsForTimelineResponse,\n    IssuesListEventsForTimelineError,\n    undefined,\n    {},\n    IssuesListEventsForTimelineQueryParams,\n    IssuesListEventsForTimelinePathParams\n  >({\n    url: '/repos/{owner}/{repo}/issues/{issueNumber}/timeline',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesListEventsForTimeline = <\n  TData = IssuesListEventsForTimelineResponse,\n>(\n  variables: IssuesListEventsForTimelineVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListEventsForTimelineResponse,\n      IssuesListEventsForTimelineError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListEventsForTimelineResponse,\n    IssuesListEventsForTimelineError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/issues/{issue_number}/timeline',\n      operationId: 'issuesListEventsForTimeline',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListEventsForTimeline(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListDeployKeysPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListDeployKeysQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListDeployKeysError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposListDeployKeysResponse = Schemas.DeployKey[];\n\nexport type ReposListDeployKeysVariables = {\n  pathParams: ReposListDeployKeysPathParams;\n  queryParams?: ReposListDeployKeysQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposListDeployKeys = (\n  variables: ReposListDeployKeysVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListDeployKeysResponse,\n    ReposListDeployKeysError,\n    undefined,\n    {},\n    ReposListDeployKeysQueryParams,\n    ReposListDeployKeysPathParams\n  >({ url: '/repos/{owner}/{repo}/keys', method: 'get', ...variables, signal });\n\nexport const useReposListDeployKeys = <TData = ReposListDeployKeysResponse>(\n  variables: ReposListDeployKeysVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListDeployKeysResponse,\n      ReposListDeployKeysError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListDeployKeysResponse,\n    ReposListDeployKeysError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/keys',\n      operationId: 'reposListDeployKeys',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListDeployKeys({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateDeployKeyPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposCreateDeployKeyError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposCreateDeployKeyRequestBody = {\n  /**\n   * The contents of the key.\n   */\n  key: string;\n  /**\n   * If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write.\n   *\n   * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see \"[Repository permission levels for an organization](https://help.github.com/articles/repository-permission-levels-for-an-organization/)\" and \"[Permission levels for a user account repository](https://help.github.com/articles/permission-levels-for-a-user-account-repository/).\"\n   */\n  read_only?: boolean;\n  /**\n   * A name for the key.\n   */\n  title?: string;\n};\n\nexport type ReposCreateDeployKeyVariables = {\n  body: ReposCreateDeployKeyRequestBody;\n  pathParams: ReposCreateDeployKeyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * You can create a read-only deploy key.\n */\nexport const fetchReposCreateDeployKey = (\n  variables: ReposCreateDeployKeyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.DeployKey,\n    ReposCreateDeployKeyError,\n    ReposCreateDeployKeyRequestBody,\n    {},\n    {},\n    ReposCreateDeployKeyPathParams\n  >({\n    url: '/repos/{owner}/{repo}/keys',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * You can create a read-only deploy key.\n */\nexport const useReposCreateDeployKey = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.DeployKey,\n      ReposCreateDeployKeyError,\n      ReposCreateDeployKeyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.DeployKey,\n    ReposCreateDeployKeyError,\n    ReposCreateDeployKeyVariables\n  >(\n    (variables: ReposCreateDeployKeyVariables) =>\n      fetchReposCreateDeployKey({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposDeleteDeployKeyPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * key_id parameter\n   */\n  keyId: number;\n};\n\nexport type ReposDeleteDeployKeyError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposDeleteDeployKeyVariables = {\n  pathParams: ReposDeleteDeployKeyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead.\n */\nexport const fetchReposDeleteDeployKey = (\n  variables: ReposDeleteDeployKeyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteDeployKeyError,\n    undefined,\n    {},\n    {},\n    ReposDeleteDeployKeyPathParams\n  >({\n    url: '/repos/{owner}/{repo}/keys/{keyId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead.\n */\nexport const useReposDeleteDeployKey = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteDeployKeyError,\n      ReposDeleteDeployKeyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteDeployKeyError,\n    ReposDeleteDeployKeyVariables\n  >(\n    (variables: ReposDeleteDeployKeyVariables) =>\n      fetchReposDeleteDeployKey({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetDeployKeyPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * key_id parameter\n   */\n  keyId: number;\n};\n\nexport type ReposGetDeployKeyError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetDeployKeyVariables = {\n  pathParams: ReposGetDeployKeyPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposGetDeployKey = (\n  variables: ReposGetDeployKeyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.DeployKey,\n    ReposGetDeployKeyError,\n    undefined,\n    {},\n    {},\n    ReposGetDeployKeyPathParams\n  >({\n    url: '/repos/{owner}/{repo}/keys/{keyId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposGetDeployKey = <TData = Schemas.DeployKey>(\n  variables: ReposGetDeployKeyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.DeployKey,\n      ReposGetDeployKeyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.DeployKey, ReposGetDeployKeyError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/keys/{key_id}',\n      operationId: 'reposGetDeployKey',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetDeployKey({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesListLabelsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type IssuesListLabelsForRepoQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListLabelsForRepoError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type IssuesListLabelsForRepoResponse = Schemas.Label[];\n\nexport type IssuesListLabelsForRepoVariables = {\n  pathParams: IssuesListLabelsForRepoPathParams;\n  queryParams?: IssuesListLabelsForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesListLabelsForRepo = (\n  variables: IssuesListLabelsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListLabelsForRepoResponse,\n    IssuesListLabelsForRepoError,\n    undefined,\n    {},\n    IssuesListLabelsForRepoQueryParams,\n    IssuesListLabelsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/labels',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesListLabelsForRepo = <\n  TData = IssuesListLabelsForRepoResponse,\n>(\n  variables: IssuesListLabelsForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListLabelsForRepoResponse,\n      IssuesListLabelsForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListLabelsForRepoResponse,\n    IssuesListLabelsForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/labels',\n      operationId: 'issuesListLabelsForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListLabelsForRepo({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesCreateLabelPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type IssuesCreateLabelError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type IssuesCreateLabelRequestBody = {\n  /**\n   * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`.\n   */\n  color?: string;\n  /**\n   * A short description of the label.\n   */\n  description?: string;\n  /**\n   * The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \":strawberry:\"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/).\n   */\n  name: string;\n};\n\nexport type IssuesCreateLabelVariables = {\n  body: IssuesCreateLabelRequestBody;\n  pathParams: IssuesCreateLabelPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesCreateLabel = (\n  variables: IssuesCreateLabelVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Label,\n    IssuesCreateLabelError,\n    IssuesCreateLabelRequestBody,\n    {},\n    {},\n    IssuesCreateLabelPathParams\n  >({\n    url: '/repos/{owner}/{repo}/labels',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesCreateLabel = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Label,\n      IssuesCreateLabelError,\n      IssuesCreateLabelVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Label,\n    IssuesCreateLabelError,\n    IssuesCreateLabelVariables\n  >(\n    (variables: IssuesCreateLabelVariables) =>\n      fetchIssuesCreateLabel({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesDeleteLabelPathParams = {\n  owner: string;\n  repo: string;\n  name: string;\n};\n\nexport type IssuesDeleteLabelError = Fetcher.ErrorWrapper<undefined>;\n\nexport type IssuesDeleteLabelVariables = {\n  pathParams: IssuesDeleteLabelPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesDeleteLabel = (\n  variables: IssuesDeleteLabelVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    IssuesDeleteLabelError,\n    undefined,\n    {},\n    {},\n    IssuesDeleteLabelPathParams\n  >({\n    url: '/repos/{owner}/{repo}/labels/{name}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesDeleteLabel = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      IssuesDeleteLabelError,\n      IssuesDeleteLabelVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    IssuesDeleteLabelError,\n    IssuesDeleteLabelVariables\n  >(\n    (variables: IssuesDeleteLabelVariables) =>\n      fetchIssuesDeleteLabel({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesGetLabelPathParams = {\n  owner: string;\n  repo: string;\n  name: string;\n};\n\nexport type IssuesGetLabelError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type IssuesGetLabelVariables = {\n  pathParams: IssuesGetLabelPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesGetLabel = (\n  variables: IssuesGetLabelVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Label,\n    IssuesGetLabelError,\n    undefined,\n    {},\n    {},\n    IssuesGetLabelPathParams\n  >({\n    url: '/repos/{owner}/{repo}/labels/{name}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesGetLabel = <TData = Schemas.Label>(\n  variables: IssuesGetLabelVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.Label, IssuesGetLabelError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Label, IssuesGetLabelError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/labels/{name}',\n      operationId: 'issuesGetLabel',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesGetLabel({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesUpdateLabelPathParams = {\n  owner: string;\n  repo: string;\n  name: string;\n};\n\nexport type IssuesUpdateLabelError = Fetcher.ErrorWrapper<undefined>;\n\nexport type IssuesUpdateLabelRequestBody = {\n  /**\n   * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`.\n   */\n  color?: string;\n  /**\n   * A short description of the label.\n   */\n  description?: string;\n  /**\n   * The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png \":strawberry:\"). For a full list of available emoji and codes, see [emoji-cheat-sheet.com](http://emoji-cheat-sheet.com/).\n   */\n  new_name?: string;\n};\n\nexport type IssuesUpdateLabelVariables = {\n  body?: IssuesUpdateLabelRequestBody;\n  pathParams: IssuesUpdateLabelPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesUpdateLabel = (\n  variables: IssuesUpdateLabelVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Label,\n    IssuesUpdateLabelError,\n    IssuesUpdateLabelRequestBody,\n    {},\n    {},\n    IssuesUpdateLabelPathParams\n  >({\n    url: '/repos/{owner}/{repo}/labels/{name}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesUpdateLabel = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Label,\n      IssuesUpdateLabelError,\n      IssuesUpdateLabelVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Label,\n    IssuesUpdateLabelError,\n    IssuesUpdateLabelVariables\n  >(\n    (variables: IssuesUpdateLabelVariables) =>\n      fetchIssuesUpdateLabel({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposListLanguagesPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListLanguagesError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposListLanguagesVariables = {\n  pathParams: ReposListLanguagesPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.\n */\nexport const fetchReposListLanguages = (\n  variables: ReposListLanguagesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Language,\n    ReposListLanguagesError,\n    undefined,\n    {},\n    {},\n    ReposListLanguagesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/languages',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.\n */\nexport const useReposListLanguages = <TData = Schemas.Language>(\n  variables: ReposListLanguagesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Language,\n      ReposListLanguagesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Language, ReposListLanguagesError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/languages',\n      operationId: 'reposListLanguages',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListLanguages({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type LicensesGetForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type LicensesGetForRepoError = Fetcher.ErrorWrapper<undefined>;\n\nexport type LicensesGetForRepoVariables = {\n  pathParams: LicensesGetForRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This method returns the contents of the repository's license file, if one is detected.\n *\n * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML.\n */\nexport const fetchLicensesGetForRepo = (\n  variables: LicensesGetForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.LicenseContent,\n    LicensesGetForRepoError,\n    undefined,\n    {},\n    {},\n    LicensesGetForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/license',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * This method returns the contents of the repository's license file, if one is detected.\n *\n * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML.\n */\nexport const useLicensesGetForRepo = <TData = Schemas.LicenseContent>(\n  variables: LicensesGetForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.LicenseContent,\n      LicensesGetForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.LicenseContent,\n    LicensesGetForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/license',\n      operationId: 'licensesGetForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchLicensesGetForRepo({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposMergePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposMergeError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: {\n        /**\n         * @example \"https://docs.github.com/rest/reference/repos#perform-a-merge\"\n         */\n        documentation_url?: string;\n        message?: string;\n      };\n    }\n  | {\n      status: 409;\n      payload: {\n        /**\n         * @example \"https://docs.github.com/rest/reference/repos#perform-a-merge\"\n         */\n        documentation_url?: string;\n        message?: string;\n      };\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposMergeRequestBody = {\n  /**\n   * The name of the base branch that the head will be merged into.\n   */\n  base: string;\n  /**\n   * Commit message to use for the merge commit. If omitted, a default message will be used.\n   */\n  commit_message?: string;\n  /**\n   * The head to merge. This can be a branch name or a commit SHA1.\n   */\n  head: string;\n};\n\nexport type ReposMergeVariables = {\n  body: ReposMergeRequestBody;\n  pathParams: ReposMergePathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposMerge = (\n  variables: ReposMergeVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Commit,\n    ReposMergeError,\n    ReposMergeRequestBody,\n    {},\n    {},\n    ReposMergePathParams\n  >({\n    url: '/repos/{owner}/{repo}/merges',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\nexport const useReposMerge = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Commit,\n      ReposMergeError,\n      ReposMergeVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Commit,\n    ReposMergeError,\n    ReposMergeVariables\n  >(\n    (variables: ReposMergeVariables) =>\n      fetchReposMerge({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesListMilestonesPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type IssuesListMilestonesQueryParams = {\n  /**\n   * The state of the milestone. Either `open`, `closed`, or `all`.\n   *\n   * @default open\n   */\n  state?: 'open' | 'closed' | 'all';\n  /**\n   * What to sort results by. Either `due_on` or `completeness`.\n   *\n   * @default due_on\n   */\n  sort?: 'due_on' | 'completeness';\n  /**\n   * The direction of the sort. Either `asc` or `desc`.\n   *\n   * @default asc\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListMilestonesError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type IssuesListMilestonesResponse = Schemas.Milestone[];\n\nexport type IssuesListMilestonesVariables = {\n  pathParams: IssuesListMilestonesPathParams;\n  queryParams?: IssuesListMilestonesQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesListMilestones = (\n  variables: IssuesListMilestonesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListMilestonesResponse,\n    IssuesListMilestonesError,\n    undefined,\n    {},\n    IssuesListMilestonesQueryParams,\n    IssuesListMilestonesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/milestones',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesListMilestones = <TData = IssuesListMilestonesResponse>(\n  variables: IssuesListMilestonesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListMilestonesResponse,\n      IssuesListMilestonesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListMilestonesResponse,\n    IssuesListMilestonesError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/milestones',\n      operationId: 'issuesListMilestones',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListMilestones({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesCreateMilestonePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type IssuesCreateMilestoneError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type IssuesCreateMilestoneRequestBody = {\n  /**\n   * A description of the milestone.\n   */\n  description?: string;\n  /**\n   * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  due_on?: string;\n  /**\n   * The state of the milestone. Either `open` or `closed`.\n   *\n   * @default open\n   */\n  state?: 'open' | 'closed';\n  /**\n   * The title of the milestone.\n   */\n  title: string;\n};\n\nexport type IssuesCreateMilestoneVariables = {\n  body: IssuesCreateMilestoneRequestBody;\n  pathParams: IssuesCreateMilestonePathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesCreateMilestone = (\n  variables: IssuesCreateMilestoneVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Milestone,\n    IssuesCreateMilestoneError,\n    IssuesCreateMilestoneRequestBody,\n    {},\n    {},\n    IssuesCreateMilestonePathParams\n  >({\n    url: '/repos/{owner}/{repo}/milestones',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesCreateMilestone = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Milestone,\n      IssuesCreateMilestoneError,\n      IssuesCreateMilestoneVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Milestone,\n    IssuesCreateMilestoneError,\n    IssuesCreateMilestoneVariables\n  >(\n    (variables: IssuesCreateMilestoneVariables) =>\n      fetchIssuesCreateMilestone({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesDeleteMilestonePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * milestone_number parameter\n   */\n  milestoneNumber: number;\n};\n\nexport type IssuesDeleteMilestoneError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type IssuesDeleteMilestoneVariables = {\n  pathParams: IssuesDeleteMilestonePathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesDeleteMilestone = (\n  variables: IssuesDeleteMilestoneVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    IssuesDeleteMilestoneError,\n    undefined,\n    {},\n    {},\n    IssuesDeleteMilestonePathParams\n  >({\n    url: '/repos/{owner}/{repo}/milestones/{milestoneNumber}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesDeleteMilestone = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      IssuesDeleteMilestoneError,\n      IssuesDeleteMilestoneVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    IssuesDeleteMilestoneError,\n    IssuesDeleteMilestoneVariables\n  >(\n    (variables: IssuesDeleteMilestoneVariables) =>\n      fetchIssuesDeleteMilestone({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesGetMilestonePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * milestone_number parameter\n   */\n  milestoneNumber: number;\n};\n\nexport type IssuesGetMilestoneError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type IssuesGetMilestoneVariables = {\n  pathParams: IssuesGetMilestonePathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesGetMilestone = (\n  variables: IssuesGetMilestoneVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Milestone,\n    IssuesGetMilestoneError,\n    undefined,\n    {},\n    {},\n    IssuesGetMilestonePathParams\n  >({\n    url: '/repos/{owner}/{repo}/milestones/{milestoneNumber}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesGetMilestone = <TData = Schemas.Milestone>(\n  variables: IssuesGetMilestoneVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Milestone,\n      IssuesGetMilestoneError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Milestone, IssuesGetMilestoneError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/milestones/{milestone_number}',\n      operationId: 'issuesGetMilestone',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesGetMilestone({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type IssuesUpdateMilestonePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * milestone_number parameter\n   */\n  milestoneNumber: number;\n};\n\nexport type IssuesUpdateMilestoneError = Fetcher.ErrorWrapper<undefined>;\n\nexport type IssuesUpdateMilestoneRequestBody = {\n  /**\n   * A description of the milestone.\n   */\n  description?: string;\n  /**\n   * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  due_on?: string;\n  /**\n   * The state of the milestone. Either `open` or `closed`.\n   *\n   * @default open\n   */\n  state?: 'open' | 'closed';\n  /**\n   * The title of the milestone.\n   */\n  title?: string;\n};\n\nexport type IssuesUpdateMilestoneVariables = {\n  body?: IssuesUpdateMilestoneRequestBody;\n  pathParams: IssuesUpdateMilestonePathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesUpdateMilestone = (\n  variables: IssuesUpdateMilestoneVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Milestone,\n    IssuesUpdateMilestoneError,\n    IssuesUpdateMilestoneRequestBody,\n    {},\n    {},\n    IssuesUpdateMilestonePathParams\n  >({\n    url: '/repos/{owner}/{repo}/milestones/{milestoneNumber}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesUpdateMilestone = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Milestone,\n      IssuesUpdateMilestoneError,\n      IssuesUpdateMilestoneVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Milestone,\n    IssuesUpdateMilestoneError,\n    IssuesUpdateMilestoneVariables\n  >(\n    (variables: IssuesUpdateMilestoneVariables) =>\n      fetchIssuesUpdateMilestone({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type IssuesListLabelsForMilestonePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * milestone_number parameter\n   */\n  milestoneNumber: number;\n};\n\nexport type IssuesListLabelsForMilestoneQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListLabelsForMilestoneError = Fetcher.ErrorWrapper<undefined>;\n\nexport type IssuesListLabelsForMilestoneResponse = Schemas.Label[];\n\nexport type IssuesListLabelsForMilestoneVariables = {\n  pathParams: IssuesListLabelsForMilestonePathParams;\n  queryParams?: IssuesListLabelsForMilestoneQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchIssuesListLabelsForMilestone = (\n  variables: IssuesListLabelsForMilestoneVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListLabelsForMilestoneResponse,\n    IssuesListLabelsForMilestoneError,\n    undefined,\n    {},\n    IssuesListLabelsForMilestoneQueryParams,\n    IssuesListLabelsForMilestonePathParams\n  >({\n    url: '/repos/{owner}/{repo}/milestones/{milestoneNumber}/labels',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useIssuesListLabelsForMilestone = <\n  TData = IssuesListLabelsForMilestoneResponse,\n>(\n  variables: IssuesListLabelsForMilestoneVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListLabelsForMilestoneResponse,\n      IssuesListLabelsForMilestoneError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListLabelsForMilestoneResponse,\n    IssuesListLabelsForMilestoneError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/milestones/{milestone_number}/labels',\n      operationId: 'issuesListLabelsForMilestone',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListLabelsForMilestone(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityListRepoNotificationsForAuthenticatedUserPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActivityListRepoNotificationsForAuthenticatedUserQueryParams = {\n  /**\n   * If `true`, show notifications marked as read.\n   *\n   * @default false\n   */\n  all?: boolean;\n  /**\n   * If `true`, only shows notifications in which the user is directly participating or mentioned.\n   *\n   * @default false\n   */\n  participating?: boolean;\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  before?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListRepoNotificationsForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityListRepoNotificationsForAuthenticatedUserResponse =\n  Schemas.Thread[];\n\nexport type ActivityListRepoNotificationsForAuthenticatedUserVariables = {\n  pathParams: ActivityListRepoNotificationsForAuthenticatedUserPathParams;\n  queryParams?: ActivityListRepoNotificationsForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List all notifications for the current user.\n */\nexport const fetchActivityListRepoNotificationsForAuthenticatedUser = (\n  variables: ActivityListRepoNotificationsForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListRepoNotificationsForAuthenticatedUserResponse,\n    ActivityListRepoNotificationsForAuthenticatedUserError,\n    undefined,\n    {},\n    ActivityListRepoNotificationsForAuthenticatedUserQueryParams,\n    ActivityListRepoNotificationsForAuthenticatedUserPathParams\n  >({\n    url: '/repos/{owner}/{repo}/notifications',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List all notifications for the current user.\n */\nexport const useActivityListRepoNotificationsForAuthenticatedUser = <\n  TData = ActivityListRepoNotificationsForAuthenticatedUserResponse,\n>(\n  variables: ActivityListRepoNotificationsForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListRepoNotificationsForAuthenticatedUserResponse,\n      ActivityListRepoNotificationsForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListRepoNotificationsForAuthenticatedUserResponse,\n    ActivityListRepoNotificationsForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/notifications',\n      operationId: 'activityListRepoNotificationsForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListRepoNotificationsForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityMarkRepoNotificationsAsReadPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActivityMarkRepoNotificationsAsReadError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityMarkRepoNotificationsAsReadRequestBody = {\n  /**\n   * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp.\n   */\n  last_read_at?: string;\n};\n\nexport type ActivityMarkRepoNotificationsAsReadVariables = {\n  body?: ActivityMarkRepoNotificationsAsReadRequestBody;\n  pathParams: ActivityMarkRepoNotificationsAsReadPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Marks all notifications in a repository as \"read\" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as \"read.\" To check whether any \"unread\" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`.\n */\nexport const fetchActivityMarkRepoNotificationsAsRead = (\n  variables: ActivityMarkRepoNotificationsAsReadVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActivityMarkRepoNotificationsAsReadError,\n    ActivityMarkRepoNotificationsAsReadRequestBody,\n    {},\n    {},\n    ActivityMarkRepoNotificationsAsReadPathParams\n  >({\n    url: '/repos/{owner}/{repo}/notifications',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Marks all notifications in a repository as \"read\" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as \"read.\" To check whether any \"unread\" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`.\n */\nexport const useActivityMarkRepoNotificationsAsRead = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActivityMarkRepoNotificationsAsReadError,\n      ActivityMarkRepoNotificationsAsReadVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActivityMarkRepoNotificationsAsReadError,\n    ActivityMarkRepoNotificationsAsReadVariables\n  >(\n    (variables: ActivityMarkRepoNotificationsAsReadVariables) =>\n      fetchActivityMarkRepoNotificationsAsRead({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposDeletePagesSitePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposDeletePagesSiteError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposDeletePagesSiteVariables = {\n  pathParams: ReposDeletePagesSitePathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposDeletePagesSite = (\n  variables: ReposDeletePagesSiteVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeletePagesSiteError,\n    undefined,\n    {},\n    {},\n    ReposDeletePagesSitePathParams\n  >({\n    url: '/repos/{owner}/{repo}/pages',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useReposDeletePagesSite = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeletePagesSiteError,\n      ReposDeletePagesSiteVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeletePagesSiteError,\n    ReposDeletePagesSiteVariables\n  >(\n    (variables: ReposDeletePagesSiteVariables) =>\n      fetchReposDeletePagesSite({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetPagesPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetPagesError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetPagesVariables = {\n  pathParams: ReposGetPagesPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposGetPages = (\n  variables: ReposGetPagesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Page,\n    ReposGetPagesError,\n    undefined,\n    {},\n    {},\n    ReposGetPagesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pages',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposGetPages = <TData = Schemas.Page>(\n  variables: ReposGetPagesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.Page, ReposGetPagesError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Page, ReposGetPagesError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pages',\n      operationId: 'reposGetPages',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetPages({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreatePagesSitePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposCreatePagesSiteError = Fetcher.ErrorWrapper<\n  | {\n      status: 409;\n      payload: Responses.Conflict;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposCreatePagesSiteRequestBody = {\n  /**\n   * The source branch and directory used to publish your Pages site.\n   */\n  source: {\n    /**\n     * The repository branch used to publish your site's source files.\n     */\n    branch: string;\n    /**\n     * The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/`\n     *\n     * @default /\n     */\n    path?: '/' | '/docs';\n  };\n};\n\nexport type ReposCreatePagesSiteVariables = {\n  body: ReposCreatePagesSiteRequestBody;\n  pathParams: ReposCreatePagesSitePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Configures a GitHub Pages site. For more information, see \"[About GitHub Pages](/github/working-with-github-pages/about-github-pages).\"\n */\nexport const fetchReposCreatePagesSite = (\n  variables: ReposCreatePagesSiteVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Page,\n    ReposCreatePagesSiteError,\n    ReposCreatePagesSiteRequestBody,\n    {},\n    {},\n    ReposCreatePagesSitePathParams\n  >({\n    url: '/repos/{owner}/{repo}/pages',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Configures a GitHub Pages site. For more information, see \"[About GitHub Pages](/github/working-with-github-pages/about-github-pages).\"\n */\nexport const useReposCreatePagesSite = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Page,\n      ReposCreatePagesSiteError,\n      ReposCreatePagesSiteVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Page,\n    ReposCreatePagesSiteError,\n    ReposCreatePagesSiteVariables\n  >(\n    (variables: ReposCreatePagesSiteVariables) =>\n      fetchReposCreatePagesSite({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposUpdateInformationAboutPagesSitePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposUpdateInformationAboutPagesSiteError = Fetcher.ErrorWrapper<\n  | {\n      status: 400;\n      payload: Responses.BadRequest;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposUpdateInformationAboutPagesSiteRequestBody = {\n  /**\n   * Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see \"[Using a custom domain with GitHub Pages](https://help.github.com/articles/using-a-custom-domain-with-github-pages/).\"\n   */\n  cname?: string | null;\n  /**\n   * Configures access controls for the GitHub Pages site. If public is set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. This includes anyone in your Enterprise if the repository is set to `internal` visibility. This feature is only available to repositories in an organization on an Enterprise plan.\n   */\n  public?: boolean;\n  source:\n    | ('gh-pages' | 'master' | 'master /docs')\n    | {\n        /**\n         * The repository branch used to publish your site's source files.\n         */\n        branch: string;\n        /**\n         * The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`.\n         */\n        path: '/' | '/docs';\n      };\n};\n\nexport type ReposUpdateInformationAboutPagesSiteVariables = {\n  body: ReposUpdateInformationAboutPagesSiteRequestBody;\n  pathParams: ReposUpdateInformationAboutPagesSitePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Updates information for a GitHub Pages site. For more information, see \"[About GitHub Pages](/github/working-with-github-pages/about-github-pages).\n */\nexport const fetchReposUpdateInformationAboutPagesSite = (\n  variables: ReposUpdateInformationAboutPagesSiteVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposUpdateInformationAboutPagesSiteError,\n    ReposUpdateInformationAboutPagesSiteRequestBody,\n    {},\n    {},\n    ReposUpdateInformationAboutPagesSitePathParams\n  >({\n    url: '/repos/{owner}/{repo}/pages',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Updates information for a GitHub Pages site. For more information, see \"[About GitHub Pages](/github/working-with-github-pages/about-github-pages).\n */\nexport const useReposUpdateInformationAboutPagesSite = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposUpdateInformationAboutPagesSiteError,\n      ReposUpdateInformationAboutPagesSiteVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposUpdateInformationAboutPagesSiteError,\n    ReposUpdateInformationAboutPagesSiteVariables\n  >(\n    (variables: ReposUpdateInformationAboutPagesSiteVariables) =>\n      fetchReposUpdateInformationAboutPagesSite({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReposListPagesBuildsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListPagesBuildsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListPagesBuildsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposListPagesBuildsResponse = Schemas.PageBuild[];\n\nexport type ReposListPagesBuildsVariables = {\n  pathParams: ReposListPagesBuildsPathParams;\n  queryParams?: ReposListPagesBuildsQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposListPagesBuilds = (\n  variables: ReposListPagesBuildsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListPagesBuildsResponse,\n    ReposListPagesBuildsError,\n    undefined,\n    {},\n    ReposListPagesBuildsQueryParams,\n    ReposListPagesBuildsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pages/builds',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposListPagesBuilds = <TData = ReposListPagesBuildsResponse>(\n  variables: ReposListPagesBuildsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListPagesBuildsResponse,\n      ReposListPagesBuildsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListPagesBuildsResponse,\n    ReposListPagesBuildsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pages/builds',\n      operationId: 'reposListPagesBuilds',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListPagesBuilds({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposRequestPagesBuildPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposRequestPagesBuildError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposRequestPagesBuildVariables = {\n  pathParams: ReposRequestPagesBuildPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.\n *\n * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.\n */\nexport const fetchReposRequestPagesBuild = (\n  variables: ReposRequestPagesBuildVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PageBuildStatus,\n    ReposRequestPagesBuildError,\n    undefined,\n    {},\n    {},\n    ReposRequestPagesBuildPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pages/builds',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.\n *\n * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.\n */\nexport const useReposRequestPagesBuild = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PageBuildStatus,\n      ReposRequestPagesBuildError,\n      ReposRequestPagesBuildVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PageBuildStatus,\n    ReposRequestPagesBuildError,\n    ReposRequestPagesBuildVariables\n  >(\n    (variables: ReposRequestPagesBuildVariables) =>\n      fetchReposRequestPagesBuild({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetLatestPagesBuildPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetLatestPagesBuildError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetLatestPagesBuildVariables = {\n  pathParams: ReposGetLatestPagesBuildPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposGetLatestPagesBuild = (\n  variables: ReposGetLatestPagesBuildVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PageBuild,\n    ReposGetLatestPagesBuildError,\n    undefined,\n    {},\n    {},\n    ReposGetLatestPagesBuildPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pages/builds/latest',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposGetLatestPagesBuild = <TData = Schemas.PageBuild>(\n  variables: ReposGetLatestPagesBuildVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PageBuild,\n      ReposGetLatestPagesBuildError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.PageBuild,\n    ReposGetLatestPagesBuildError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pages/builds/latest',\n      operationId: 'reposGetLatestPagesBuild',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetLatestPagesBuild(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetPagesBuildPathParams = {\n  owner: string;\n  repo: string;\n  buildId: number;\n};\n\nexport type ReposGetPagesBuildError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetPagesBuildVariables = {\n  pathParams: ReposGetPagesBuildPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposGetPagesBuild = (\n  variables: ReposGetPagesBuildVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PageBuild,\n    ReposGetPagesBuildError,\n    undefined,\n    {},\n    {},\n    ReposGetPagesBuildPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pages/builds/{buildId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposGetPagesBuild = <TData = Schemas.PageBuild>(\n  variables: ReposGetPagesBuildVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PageBuild,\n      ReposGetPagesBuildError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.PageBuild, ReposGetPagesBuildError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pages/builds/{build_id}',\n      operationId: 'reposGetPagesBuild',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetPagesBuild({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ProjectsListForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ProjectsListForRepoQueryParams = {\n  /**\n   * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`.\n   *\n   * @default open\n   */\n  state?: 'open' | 'closed' | 'all';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ProjectsListForRepoError = Fetcher.ErrorWrapper<\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type ProjectsListForRepoResponse = Schemas.Project[];\n\nexport type ProjectsListForRepoVariables = {\n  pathParams: ProjectsListForRepoPathParams;\n  queryParams?: ProjectsListForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.\n */\nexport const fetchProjectsListForRepo = (\n  variables: ProjectsListForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ProjectsListForRepoResponse,\n    ProjectsListForRepoError,\n    undefined,\n    {},\n    ProjectsListForRepoQueryParams,\n    ProjectsListForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/projects',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.\n */\nexport const useProjectsListForRepo = <TData = ProjectsListForRepoResponse>(\n  variables: ProjectsListForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ProjectsListForRepoResponse,\n      ProjectsListForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ProjectsListForRepoResponse,\n    ProjectsListForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/projects',\n      operationId: 'projectsListForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchProjectsListForRepo({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ProjectsCreateForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ProjectsCreateForRepoError = Fetcher.ErrorWrapper<\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 410;\n      payload: Responses.Gone;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type ProjectsCreateForRepoRequestBody = {\n  /**\n   * The description of the project.\n   */\n  body?: string;\n  /**\n   * The name of the project.\n   */\n  name: string;\n};\n\nexport type ProjectsCreateForRepoVariables = {\n  body: ProjectsCreateForRepoRequestBody;\n  pathParams: ProjectsCreateForRepoPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.\n */\nexport const fetchProjectsCreateForRepo = (\n  variables: ProjectsCreateForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Project,\n    ProjectsCreateForRepoError,\n    ProjectsCreateForRepoRequestBody,\n    {},\n    {},\n    ProjectsCreateForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/projects',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates a repository project board. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.\n */\nexport const useProjectsCreateForRepo = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Project,\n      ProjectsCreateForRepoError,\n      ProjectsCreateForRepoVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Project,\n    ProjectsCreateForRepoError,\n    ProjectsCreateForRepoVariables\n  >(\n    (variables: ProjectsCreateForRepoVariables) =>\n      fetchProjectsCreateForRepo({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsListPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type PullsListQueryParams = {\n  /**\n   * Either `open`, `closed`, or `all` to filter by state.\n   *\n   * @default open\n   */\n  state?: 'open' | 'closed' | 'all';\n  /**\n   * Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`.\n   */\n  head?: string;\n  /**\n   * Filter pulls by base branch name. Example: `gh-pages`.\n   */\n  base?: string;\n  /**\n   * What to sort results by. Can be either `created`, `updated`, `popularity` (comment count) or `long-running` (age, filtering by pulls updated in the last month).\n   *\n   * @default created\n   */\n  sort?: 'created' | 'updated' | 'popularity' | 'long-running';\n  /**\n   * The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`.\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type PullsListError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type PullsListResponse = Schemas.PullRequestSimple[];\n\nexport type PullsListVariables = {\n  pathParams: PullsListPathParams;\n  queryParams?: PullsListQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const fetchPullsList = (\n  variables: PullsListVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    PullsListResponse,\n    PullsListError,\n    undefined,\n    {},\n    PullsListQueryParams,\n    PullsListPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n */\nexport const usePullsList = <TData = PullsListResponse>(\n  variables: PullsListVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<PullsListResponse, PullsListError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<PullsListResponse, PullsListError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls',\n      operationId: 'pullsList',\n      variables,\n    }),\n    ({ signal }) => fetchPullsList({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PullsCreatePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type PullsCreateError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type PullsCreateRequestBody = {\n  /**\n   * The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository.\n   */\n  base: string;\n  /**\n   * The contents of the pull request.\n   */\n  body?: string;\n  /**\n   * Indicates whether the pull request is a draft. See \"[Draft Pull Requests](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests)\" in the GitHub Help documentation to learn more.\n   */\n  draft?: boolean;\n  /**\n   * The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`.\n   */\n  head: string;\n  /**\n   * @example 1\n   */\n  issue?: number;\n  /**\n   * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request.\n   */\n  maintainer_can_modify?: boolean;\n  /**\n   * The title of the new pull request.\n   */\n  title?: string;\n};\n\nexport type PullsCreateVariables = {\n  body: PullsCreateRequestBody;\n  pathParams: PullsCreatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request.\n *\n * You can create a new pull request.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const fetchPullsCreate = (\n  variables: PullsCreateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequest,\n    PullsCreateError,\n    PullsCreateRequestBody,\n    {},\n    {},\n    PullsCreatePathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request.\n *\n * You can create a new pull request.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const usePullsCreate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PullRequest,\n      PullsCreateError,\n      PullsCreateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PullRequest,\n    PullsCreateError,\n    PullsCreateVariables\n  >(\n    (variables: PullsCreateVariables) =>\n      fetchPullsCreate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsListReviewCommentsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type PullsListReviewCommentsForRepoQueryParams = {\n  sort?: 'created' | 'updated' | 'created_at';\n  /**\n   * Can be either `asc` or `desc`. Ignored without `sort` parameter.\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type PullsListReviewCommentsForRepoError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type PullsListReviewCommentsForRepoResponse =\n  Schemas.PullRequestReviewComment[];\n\nexport type PullsListReviewCommentsForRepoVariables = {\n  pathParams: PullsListReviewCommentsForRepoPathParams;\n  queryParams?: PullsListReviewCommentsForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID.\n */\nexport const fetchPullsListReviewCommentsForRepo = (\n  variables: PullsListReviewCommentsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    PullsListReviewCommentsForRepoResponse,\n    PullsListReviewCommentsForRepoError,\n    undefined,\n    {},\n    PullsListReviewCommentsForRepoQueryParams,\n    PullsListReviewCommentsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/comments',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID.\n */\nexport const usePullsListReviewCommentsForRepo = <\n  TData = PullsListReviewCommentsForRepoResponse,\n>(\n  variables: PullsListReviewCommentsForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      PullsListReviewCommentsForRepoResponse,\n      PullsListReviewCommentsForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    PullsListReviewCommentsForRepoResponse,\n    PullsListReviewCommentsForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls/comments',\n      operationId: 'pullsListReviewCommentsForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPullsListReviewCommentsForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PullsDeleteReviewCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type PullsDeleteReviewCommentError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type PullsDeleteReviewCommentVariables = {\n  pathParams: PullsDeleteReviewCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a review comment.\n */\nexport const fetchPullsDeleteReviewComment = (\n  variables: PullsDeleteReviewCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    PullsDeleteReviewCommentError,\n    undefined,\n    {},\n    {},\n    PullsDeleteReviewCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/comments/{commentId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a review comment.\n */\nexport const usePullsDeleteReviewComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      PullsDeleteReviewCommentError,\n      PullsDeleteReviewCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    PullsDeleteReviewCommentError,\n    PullsDeleteReviewCommentVariables\n  >(\n    (variables: PullsDeleteReviewCommentVariables) =>\n      fetchPullsDeleteReviewComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsGetReviewCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type PullsGetReviewCommentError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type PullsGetReviewCommentVariables = {\n  pathParams: PullsGetReviewCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Provides details for a review comment.\n */\nexport const fetchPullsGetReviewComment = (\n  variables: PullsGetReviewCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestReviewComment,\n    PullsGetReviewCommentError,\n    undefined,\n    {},\n    {},\n    PullsGetReviewCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/comments/{commentId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Provides details for a review comment.\n */\nexport const usePullsGetReviewComment = <\n  TData = Schemas.PullRequestReviewComment,\n>(\n  variables: PullsGetReviewCommentVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PullRequestReviewComment,\n      PullsGetReviewCommentError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.PullRequestReviewComment,\n    PullsGetReviewCommentError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls/comments/{comment_id}',\n      operationId: 'pullsGetReviewComment',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPullsGetReviewComment({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PullsUpdateReviewCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type PullsUpdateReviewCommentError = Fetcher.ErrorWrapper<undefined>;\n\nexport type PullsUpdateReviewCommentRequestBody = {\n  /**\n   * The text of the reply to the review comment.\n   */\n  body: string;\n};\n\nexport type PullsUpdateReviewCommentVariables = {\n  body: PullsUpdateReviewCommentRequestBody;\n  pathParams: PullsUpdateReviewCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Enables you to edit a review comment.\n */\nexport const fetchPullsUpdateReviewComment = (\n  variables: PullsUpdateReviewCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestReviewComment,\n    PullsUpdateReviewCommentError,\n    PullsUpdateReviewCommentRequestBody,\n    {},\n    {},\n    PullsUpdateReviewCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/comments/{commentId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Enables you to edit a review comment.\n */\nexport const usePullsUpdateReviewComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PullRequestReviewComment,\n      PullsUpdateReviewCommentError,\n      PullsUpdateReviewCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PullRequestReviewComment,\n    PullsUpdateReviewCommentError,\n    PullsUpdateReviewCommentVariables\n  >(\n    (variables: PullsUpdateReviewCommentVariables) =>\n      fetchPullsUpdateReviewComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReactionsListForPullRequestReviewCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type ReactionsListForPullRequestReviewCommentQueryParams = {\n  /**\n   * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a pull request review comment.\n   */\n  content?:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReactionsListForPullRequestReviewCommentError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n    | {\n        status: 415;\n        payload: Responses.PreviewHeaderMissing;\n      }\n  >;\n\nexport type ReactionsListForPullRequestReviewCommentResponse =\n  Schemas.Reaction[];\n\nexport type ReactionsListForPullRequestReviewCommentVariables = {\n  pathParams: ReactionsListForPullRequestReviewCommentPathParams;\n  queryParams?: ReactionsListForPullRequestReviewCommentQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments).\n */\nexport const fetchReactionsListForPullRequestReviewComment = (\n  variables: ReactionsListForPullRequestReviewCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReactionsListForPullRequestReviewCommentResponse,\n    ReactionsListForPullRequestReviewCommentError,\n    undefined,\n    {},\n    ReactionsListForPullRequestReviewCommentQueryParams,\n    ReactionsListForPullRequestReviewCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/comments/{commentId}/reactions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments).\n */\nexport const useReactionsListForPullRequestReviewComment = <\n  TData = ReactionsListForPullRequestReviewCommentResponse,\n>(\n  variables: ReactionsListForPullRequestReviewCommentVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReactionsListForPullRequestReviewCommentResponse,\n      ReactionsListForPullRequestReviewCommentError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReactionsListForPullRequestReviewCommentResponse,\n    ReactionsListForPullRequestReviewCommentError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions',\n      operationId: 'reactionsListForPullRequestReviewComment',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReactionsListForPullRequestReviewComment(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReactionsCreateForPullRequestReviewCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type ReactionsCreateForPullRequestReviewCommentError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 415;\n        payload: Responses.PreviewHeaderMissing;\n      }\n    | {\n        status: 422;\n        payload: Responses.ValidationFailed;\n      }\n  >;\n\nexport type ReactionsCreateForPullRequestReviewCommentRequestBody = {\n  /**\n   * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment.\n   */\n  content:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n};\n\nexport type ReactionsCreateForPullRequestReviewCommentVariables = {\n  body: ReactionsCreateForPullRequestReviewCommentRequestBody;\n  pathParams: ReactionsCreateForPullRequestReviewCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this pull request review comment.\n */\nexport const fetchReactionsCreateForPullRequestReviewComment = (\n  variables: ReactionsCreateForPullRequestReviewCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Reaction,\n    ReactionsCreateForPullRequestReviewCommentError,\n    ReactionsCreateForPullRequestReviewCommentRequestBody,\n    {},\n    {},\n    ReactionsCreateForPullRequestReviewCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/comments/{commentId}/reactions',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with a `Status: 200 OK` means that you already added the reaction type to this pull request review comment.\n */\nexport const useReactionsCreateForPullRequestReviewComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Reaction,\n      ReactionsCreateForPullRequestReviewCommentError,\n      ReactionsCreateForPullRequestReviewCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Reaction,\n    ReactionsCreateForPullRequestReviewCommentError,\n    ReactionsCreateForPullRequestReviewCommentVariables\n  >(\n    (variables: ReactionsCreateForPullRequestReviewCommentVariables) =>\n      fetchReactionsCreateForPullRequestReviewComment({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReactionsDeleteForPullRequestCommentPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n  reactionId: number;\n};\n\nexport type ReactionsDeleteForPullRequestCommentError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsDeleteForPullRequestCommentVariables = {\n  pathParams: ReactionsDeleteForPullRequestCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.`\n *\n * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments).\n */\nexport const fetchReactionsDeleteForPullRequestComment = (\n  variables: ReactionsDeleteForPullRequestCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReactionsDeleteForPullRequestCommentError,\n    undefined,\n    {},\n    {},\n    ReactionsDeleteForPullRequestCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/comments/{commentId}/reactions/{reactionId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.`\n *\n * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments).\n */\nexport const useReactionsDeleteForPullRequestComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReactionsDeleteForPullRequestCommentError,\n      ReactionsDeleteForPullRequestCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReactionsDeleteForPullRequestCommentError,\n    ReactionsDeleteForPullRequestCommentVariables\n  >(\n    (variables: ReactionsDeleteForPullRequestCommentVariables) =>\n      fetchReactionsDeleteForPullRequestComment({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type PullsGetPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsGetError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 500;\n      payload: Responses.InternalError;\n    }\n>;\n\nexport type PullsGetVariables = {\n  pathParams: PullsGetPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Lists details of a pull request by providing its number.\n *\n * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".\n *\n * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit.\n *\n * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request:\n *\n * *   If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit.\n * *   If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch.\n * *   If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to.\n *\n * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.\n */\nexport const fetchPullsGet = (\n  variables: PullsGetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequest,\n    PullsGetError,\n    undefined,\n    {},\n    {},\n    PullsGetPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Lists details of a pull request by providing its number.\n *\n * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see \"[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)\".\n *\n * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit.\n *\n * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request:\n *\n * *   If merged as a [merge commit](https://help.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit.\n * *   If merged via a [squash](https://help.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch.\n * *   If [rebased](https://help.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to.\n *\n * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.\n */\nexport const usePullsGet = <TData = Schemas.PullRequest>(\n  variables: PullsGetVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.PullRequest, PullsGetError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.PullRequest, PullsGetError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}',\n      operationId: 'pullsGet',\n      variables,\n    }),\n    ({ signal }) => fetchPullsGet({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PullsUpdatePathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsUpdateError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type PullsUpdateRequestBody = {\n  /**\n   * The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository.\n   */\n  base?: string;\n  /**\n   * The contents of the pull request.\n   */\n  body?: string;\n  /**\n   * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request.\n   */\n  maintainer_can_modify?: boolean;\n  /**\n   * State of this Pull Request. Either `open` or `closed`.\n   */\n  state?: 'open' | 'closed';\n  /**\n   * The title of the pull request.\n   */\n  title?: string;\n};\n\nexport type PullsUpdateVariables = {\n  body?: PullsUpdateRequestBody;\n  pathParams: PullsUpdatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request.\n */\nexport const fetchPullsUpdate = (\n  variables: PullsUpdateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequest,\n    PullsUpdateError,\n    PullsUpdateRequestBody,\n    {},\n    {},\n    PullsUpdatePathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request.\n */\nexport const usePullsUpdate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PullRequest,\n      PullsUpdateError,\n      PullsUpdateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PullRequest,\n    PullsUpdateError,\n    PullsUpdateVariables\n  >(\n    (variables: PullsUpdateVariables) =>\n      fetchPullsUpdate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsListReviewCommentsPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsListReviewCommentsQueryParams = {\n  /**\n   * One of `created` (when the repository was starred) or `updated` (when it was last pushed to).\n   *\n   * @default created\n   */\n  sort?: 'created' | 'updated';\n  /**\n   * Can be either `asc` or `desc`. Ignored without `sort` parameter.\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type PullsListReviewCommentsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type PullsListReviewCommentsResponse =\n  Schemas.PullRequestReviewComment[];\n\nexport type PullsListReviewCommentsVariables = {\n  pathParams: PullsListReviewCommentsPathParams;\n  queryParams?: PullsListReviewCommentsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all review comments for a pull request. By default, review comments are in ascending order by ID.\n */\nexport const fetchPullsListReviewComments = (\n  variables: PullsListReviewCommentsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    PullsListReviewCommentsResponse,\n    PullsListReviewCommentsError,\n    undefined,\n    {},\n    PullsListReviewCommentsQueryParams,\n    PullsListReviewCommentsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/comments',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all review comments for a pull request. By default, review comments are in ascending order by ID.\n */\nexport const usePullsListReviewComments = <\n  TData = PullsListReviewCommentsResponse,\n>(\n  variables: PullsListReviewCommentsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      PullsListReviewCommentsResponse,\n      PullsListReviewCommentsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    PullsListReviewCommentsResponse,\n    PullsListReviewCommentsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/comments',\n      operationId: 'pullsListReviewComments',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPullsListReviewComments({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PullsCreateReviewCommentPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsCreateReviewCommentError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type PullsCreateReviewCommentRequestBody = {\n  /**\n   * The text of the review comment.\n   */\n  body: string;\n  /**\n   * The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`.\n   */\n  commit_id?: string;\n  /**\n   * @example 2\n   */\n  in_reply_to?: number;\n  /**\n   * **Required with `comfort-fade` preview**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to.\n   */\n  line?: number;\n  /**\n   * The relative path to the file that necessitates a comment.\n   */\n  path?: string;\n  /**\n   * **Required without `comfort-fade` preview**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above.\n   */\n  position?: number;\n  /**\n   * **Required with `comfort-fade` preview**. In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see \"[Diff view options](https://help.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)\" in the GitHub Help documentation.\n   */\n  side?: 'LEFT' | 'RIGHT';\n  /**\n   * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see \"[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation.\n   */\n  start_line?: number;\n  /**\n   * **Required when using multi-line comments**. To create multi-line comments, you must use the `comfort-fade` preview header. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see \"[Commenting on a pull request](https://help.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation. See `side` in this table for additional context.\n   */\n  start_side?: 'LEFT' | 'RIGHT' | 'side';\n};\n\nexport type PullsCreateReviewCommentVariables = {\n  body: PullsCreateReviewCommentRequestBody;\n  pathParams: PullsCreateReviewCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see \"[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment).\" We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff.\n *\n * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see the [`comfort-fade` preview notice](https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request-preview-notices).\n *\n * **Note:** The position value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const fetchPullsCreateReviewComment = (\n  variables: PullsCreateReviewCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestReviewComment,\n    PullsCreateReviewCommentError,\n    PullsCreateReviewCommentRequestBody,\n    {},\n    {},\n    PullsCreateReviewCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/comments',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see \"[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment).\" We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff.\n *\n * You can still create a review comment using the `position` parameter. When you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. For more information, see the [`comfort-fade` preview notice](https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request-preview-notices).\n *\n * **Note:** The position value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const usePullsCreateReviewComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PullRequestReviewComment,\n      PullsCreateReviewCommentError,\n      PullsCreateReviewCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PullRequestReviewComment,\n    PullsCreateReviewCommentError,\n    PullsCreateReviewCommentVariables\n  >(\n    (variables: PullsCreateReviewCommentVariables) =>\n      fetchPullsCreateReviewComment({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsCreateReplyForReviewCommentPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n  /**\n   * comment_id parameter\n   */\n  commentId: number;\n};\n\nexport type PullsCreateReplyForReviewCommentError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type PullsCreateReplyForReviewCommentRequestBody = {\n  /**\n   * The text of the review comment.\n   */\n  body: string;\n};\n\nexport type PullsCreateReplyForReviewCommentVariables = {\n  body: PullsCreateReplyForReviewCommentRequestBody;\n  pathParams: PullsCreateReplyForReviewCommentPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const fetchPullsCreateReplyForReviewComment = (\n  variables: PullsCreateReplyForReviewCommentVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestReviewComment,\n    PullsCreateReplyForReviewCommentError,\n    PullsCreateReplyForReviewCommentRequestBody,\n    {},\n    {},\n    PullsCreateReplyForReviewCommentPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/comments/{commentId}/replies',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const usePullsCreateReplyForReviewComment = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PullRequestReviewComment,\n      PullsCreateReplyForReviewCommentError,\n      PullsCreateReplyForReviewCommentVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PullRequestReviewComment,\n    PullsCreateReplyForReviewCommentError,\n    PullsCreateReplyForReviewCommentVariables\n  >(\n    (variables: PullsCreateReplyForReviewCommentVariables) =>\n      fetchPullsCreateReplyForReviewComment({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type PullsListCommitsPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsListCommitsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type PullsListCommitsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type PullsListCommitsResponse = Schemas.Commit[];\n\nexport type PullsListCommitsVariables = {\n  pathParams: PullsListCommitsPathParams;\n  queryParams?: PullsListCommitsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint.\n */\nexport const fetchPullsListCommits = (\n  variables: PullsListCommitsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    PullsListCommitsResponse,\n    PullsListCommitsError,\n    undefined,\n    {},\n    PullsListCommitsQueryParams,\n    PullsListCommitsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/commits',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint.\n */\nexport const usePullsListCommits = <TData = PullsListCommitsResponse>(\n  variables: PullsListCommitsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      PullsListCommitsResponse,\n      PullsListCommitsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    PullsListCommitsResponse,\n    PullsListCommitsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/commits',\n      operationId: 'pullsListCommits',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPullsListCommits({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PullsListFilesPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsListFilesQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type PullsListFilesError = Fetcher.ErrorWrapper<\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n  | {\n      status: 500;\n      payload: Responses.InternalError;\n    }\n>;\n\nexport type PullsListFilesResponse = Schemas.DiffEntry[];\n\nexport type PullsListFilesVariables = {\n  pathParams: PullsListFilesPathParams;\n  queryParams?: PullsListFilesQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default.\n */\nexport const fetchPullsListFiles = (\n  variables: PullsListFilesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    PullsListFilesResponse,\n    PullsListFilesError,\n    undefined,\n    {},\n    PullsListFilesQueryParams,\n    PullsListFilesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/files',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default.\n */\nexport const usePullsListFiles = <TData = PullsListFilesResponse>(\n  variables: PullsListFilesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      PullsListFilesResponse,\n      PullsListFilesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    PullsListFilesResponse,\n    PullsListFilesError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/files',\n      operationId: 'pullsListFiles',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPullsListFiles({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PullsCheckIfMergedPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsCheckIfMergedError = Fetcher.ErrorWrapper<undefined>;\n\nexport type PullsCheckIfMergedVariables = {\n  pathParams: PullsCheckIfMergedPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchPullsCheckIfMerged = (\n  variables: PullsCheckIfMergedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    PullsCheckIfMergedError,\n    undefined,\n    {},\n    {},\n    PullsCheckIfMergedPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/merge',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const usePullsCheckIfMerged = <TData = undefined>(\n  variables: PullsCheckIfMergedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<undefined, PullsCheckIfMergedError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<undefined, PullsCheckIfMergedError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/merge',\n      operationId: 'pullsCheckIfMerged',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPullsCheckIfMerged({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PullsMergePathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsMergeError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 405;\n      payload: {\n        documentation_url?: string;\n        message?: string;\n      };\n    }\n  | {\n      status: 409;\n      payload: {\n        documentation_url?: string;\n        message?: string;\n      };\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type PullsMergeVariables = {\n  body?: {\n    /**\n     * Extra detail to append to automatic commit message.\n     */\n    commit_message?: string;\n    /**\n     * Title for the automatic commit message.\n     */\n    commit_title?: string;\n    /**\n     * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.\n     */\n    merge_method?: 'merge' | 'squash' | 'rebase';\n    /**\n     * SHA that pull request head must match to allow merge.\n     */\n    sha?: string;\n  } | null;\n  pathParams: PullsMergePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.\n */\nexport const fetchPullsMerge = (\n  variables: PullsMergeVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestMergeResult,\n    PullsMergeError,\n    {\n      /**\n       * Extra detail to append to automatic commit message.\n       */\n      commit_message?: string;\n      /**\n       * Title for the automatic commit message.\n       */\n      commit_title?: string;\n      /**\n       * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.\n       */\n      merge_method?: 'merge' | 'squash' | 'rebase';\n      /**\n       * SHA that pull request head must match to allow merge.\n       */\n      sha?: string;\n    } | null,\n    {},\n    {},\n    PullsMergePathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/merge',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.\n */\nexport const usePullsMerge = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PullRequestMergeResult,\n      PullsMergeError,\n      PullsMergeVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PullRequestMergeResult,\n    PullsMergeError,\n    PullsMergeVariables\n  >(\n    (variables: PullsMergeVariables) =>\n      fetchPullsMerge({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsRemoveRequestedReviewersPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsRemoveRequestedReviewersError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type PullsRemoveRequestedReviewersRequestBody = {\n  /**\n   * An array of user `login`s that will be removed.\n   */\n  reviewers: string[];\n  /**\n   * An array of team `slug`s that will be removed.\n   */\n  team_reviewers?: string[];\n};\n\nexport type PullsRemoveRequestedReviewersVariables = {\n  body: PullsRemoveRequestedReviewersRequestBody;\n  pathParams: PullsRemoveRequestedReviewersPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchPullsRemoveRequestedReviewers = (\n  variables: PullsRemoveRequestedReviewersVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    PullsRemoveRequestedReviewersError,\n    PullsRemoveRequestedReviewersRequestBody,\n    {},\n    {},\n    PullsRemoveRequestedReviewersPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/requested_reviewers',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const usePullsRemoveRequestedReviewers = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      PullsRemoveRequestedReviewersError,\n      PullsRemoveRequestedReviewersVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    PullsRemoveRequestedReviewersError,\n    PullsRemoveRequestedReviewersVariables\n  >(\n    (variables: PullsRemoveRequestedReviewersVariables) =>\n      fetchPullsRemoveRequestedReviewers({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsListRequestedReviewersPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsListRequestedReviewersQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type PullsListRequestedReviewersError = Fetcher.ErrorWrapper<undefined>;\n\nexport type PullsListRequestedReviewersVariables = {\n  pathParams: PullsListRequestedReviewersPathParams;\n  queryParams?: PullsListRequestedReviewersQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchPullsListRequestedReviewers = (\n  variables: PullsListRequestedReviewersVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestReviewRequest,\n    PullsListRequestedReviewersError,\n    undefined,\n    {},\n    PullsListRequestedReviewersQueryParams,\n    PullsListRequestedReviewersPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/requested_reviewers',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const usePullsListRequestedReviewers = <\n  TData = Schemas.PullRequestReviewRequest,\n>(\n  variables: PullsListRequestedReviewersVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PullRequestReviewRequest,\n      PullsListRequestedReviewersError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.PullRequestReviewRequest,\n    PullsListRequestedReviewersError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers',\n      operationId: 'pullsListRequestedReviewers',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPullsListRequestedReviewers(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PullsRequestReviewersPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsRequestReviewersError = Fetcher.ErrorWrapper<{\n  status: 403;\n  payload: Responses.Forbidden;\n}>;\n\nexport type PullsRequestReviewersVariables = {\n  body?:\n    | {\n        /**\n         * An array of user `login`s that will be requested.\n         */\n        reviewers: string[];\n        /**\n         * An array of team `slug`s that will be requested.\n         */\n        team_reviewers?: string[];\n      }\n    | {\n        /**\n         * An array of user `login`s that will be requested.\n         */\n        reviewers?: string[];\n        /**\n         * An array of team `slug`s that will be requested.\n         */\n        team_reviewers: string[];\n      };\n  pathParams: PullsRequestReviewersPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.\n */\nexport const fetchPullsRequestReviewers = (\n  variables: PullsRequestReviewersVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestSimple,\n    PullsRequestReviewersError,\n    | {\n        /**\n         * An array of user `login`s that will be requested.\n         */\n        reviewers: string[];\n        /**\n         * An array of team `slug`s that will be requested.\n         */\n        team_reviewers?: string[];\n      }\n    | {\n        /**\n         * An array of user `login`s that will be requested.\n         */\n        reviewers?: string[];\n        /**\n         * An array of team `slug`s that will be requested.\n         */\n        team_reviewers: string[];\n      },\n    {},\n    {},\n    PullsRequestReviewersPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/requested_reviewers',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits)\" for details.\n */\nexport const usePullsRequestReviewers = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PullRequestSimple,\n      PullsRequestReviewersError,\n      PullsRequestReviewersVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PullRequestSimple,\n    PullsRequestReviewersError,\n    PullsRequestReviewersVariables\n  >(\n    (variables: PullsRequestReviewersVariables) =>\n      fetchPullsRequestReviewers({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsListReviewsPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsListReviewsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type PullsListReviewsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type PullsListReviewsResponse = Schemas.PullRequestReview[];\n\nexport type PullsListReviewsVariables = {\n  pathParams: PullsListReviewsPathParams;\n  queryParams?: PullsListReviewsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The list of reviews returns in chronological order.\n */\nexport const fetchPullsListReviews = (\n  variables: PullsListReviewsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    PullsListReviewsResponse,\n    PullsListReviewsError,\n    undefined,\n    {},\n    PullsListReviewsQueryParams,\n    PullsListReviewsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/reviews',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * The list of reviews returns in chronological order.\n */\nexport const usePullsListReviews = <TData = PullsListReviewsResponse>(\n  variables: PullsListReviewsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      PullsListReviewsResponse,\n      PullsListReviewsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    PullsListReviewsResponse,\n    PullsListReviewsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/reviews',\n      operationId: 'pullsListReviews',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPullsListReviews({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PullsCreateReviewPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsCreateReviewError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type PullsCreateReviewRequestBody = {\n  /**\n   * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review.\n   */\n  body?: string;\n  /**\n   * Use the following table to specify the location, destination, and contents of the draft review comment.\n   */\n  comments?: {\n    /**\n     * Text of the review comment.\n     */\n    body: string;\n    /**\n     * @example 28\n     */\n    line?: number;\n    /**\n     * The relative path to the file that necessitates a review comment.\n     */\n    path: string;\n    /**\n     * The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below.\n     */\n    position?: number;\n    /**\n     * @example RIGHT\n     */\n    side?: string;\n    /**\n     * @example 26\n     */\n    start_line?: number;\n    /**\n     * @example LEFT\n     */\n    start_side?: string;\n  }[];\n  /**\n   * The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value.\n   */\n  commit_id?: string;\n  /**\n   * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request) when you are ready.\n   */\n  event?: 'APPROVE' | 'REQUEST_CHANGES' | 'COMMENT';\n};\n\nexport type PullsCreateReviewVariables = {\n  body?: PullsCreateReviewRequestBody;\n  pathParams: PullsCreateReviewPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n *\n * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response.\n *\n * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint.\n *\n * The `position` value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.\n */\nexport const fetchPullsCreateReview = (\n  variables: PullsCreateReviewVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestReview,\n    PullsCreateReviewError,\n    PullsCreateReviewRequestBody,\n    {},\n    {},\n    PullsCreateReviewPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/reviews',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n *\n * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response.\n *\n * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint.\n *\n * The `position` value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.\n */\nexport const usePullsCreateReview = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PullRequestReview,\n      PullsCreateReviewError,\n      PullsCreateReviewVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PullRequestReview,\n    PullsCreateReviewError,\n    PullsCreateReviewVariables\n  >(\n    (variables: PullsCreateReviewVariables) =>\n      fetchPullsCreateReview({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsDeletePendingReviewPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n  /**\n   * review_id parameter\n   */\n  reviewId: number;\n};\n\nexport type PullsDeletePendingReviewError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type PullsDeletePendingReviewVariables = {\n  pathParams: PullsDeletePendingReviewPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchPullsDeletePendingReview = (\n  variables: PullsDeletePendingReviewVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestReview,\n    PullsDeletePendingReviewError,\n    undefined,\n    {},\n    {},\n    PullsDeletePendingReviewPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/reviews/{reviewId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const usePullsDeletePendingReview = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PullRequestReview,\n      PullsDeletePendingReviewError,\n      PullsDeletePendingReviewVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PullRequestReview,\n    PullsDeletePendingReviewError,\n    PullsDeletePendingReviewVariables\n  >(\n    (variables: PullsDeletePendingReviewVariables) =>\n      fetchPullsDeletePendingReview({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsGetReviewPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n  /**\n   * review_id parameter\n   */\n  reviewId: number;\n};\n\nexport type PullsGetReviewError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type PullsGetReviewVariables = {\n  pathParams: PullsGetReviewPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchPullsGetReview = (\n  variables: PullsGetReviewVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestReview,\n    PullsGetReviewError,\n    undefined,\n    {},\n    {},\n    PullsGetReviewPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/reviews/{reviewId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const usePullsGetReview = <TData = Schemas.PullRequestReview>(\n  variables: PullsGetReviewVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PullRequestReview,\n      PullsGetReviewError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.PullRequestReview,\n    PullsGetReviewError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}',\n      operationId: 'pullsGetReview',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPullsGetReview({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PullsUpdateReviewPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n  /**\n   * review_id parameter\n   */\n  reviewId: number;\n};\n\nexport type PullsUpdateReviewError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailedSimple;\n}>;\n\nexport type PullsUpdateReviewRequestBody = {\n  /**\n   * The body text of the pull request review.\n   */\n  body: string;\n};\n\nexport type PullsUpdateReviewVariables = {\n  body: PullsUpdateReviewRequestBody;\n  pathParams: PullsUpdateReviewPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Update the review summary comment with new text.\n */\nexport const fetchPullsUpdateReview = (\n  variables: PullsUpdateReviewVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestReview,\n    PullsUpdateReviewError,\n    PullsUpdateReviewRequestBody,\n    {},\n    {},\n    PullsUpdateReviewPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/reviews/{reviewId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Update the review summary comment with new text.\n */\nexport const usePullsUpdateReview = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PullRequestReview,\n      PullsUpdateReviewError,\n      PullsUpdateReviewVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PullRequestReview,\n    PullsUpdateReviewError,\n    PullsUpdateReviewVariables\n  >(\n    (variables: PullsUpdateReviewVariables) =>\n      fetchPullsUpdateReview({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsListCommentsForReviewPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n  /**\n   * review_id parameter\n   */\n  reviewId: number;\n};\n\nexport type PullsListCommentsForReviewQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type PullsListCommentsForReviewError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type PullsListCommentsForReviewResponse = Schemas.ReviewComment[];\n\nexport type PullsListCommentsForReviewVariables = {\n  pathParams: PullsListCommentsForReviewPathParams;\n  queryParams?: PullsListCommentsForReviewQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List comments for a specific pull request review.\n */\nexport const fetchPullsListCommentsForReview = (\n  variables: PullsListCommentsForReviewVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    PullsListCommentsForReviewResponse,\n    PullsListCommentsForReviewError,\n    undefined,\n    {},\n    PullsListCommentsForReviewQueryParams,\n    PullsListCommentsForReviewPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/reviews/{reviewId}/comments',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List comments for a specific pull request review.\n */\nexport const usePullsListCommentsForReview = <\n  TData = PullsListCommentsForReviewResponse,\n>(\n  variables: PullsListCommentsForReviewVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      PullsListCommentsForReviewResponse,\n      PullsListCommentsForReviewError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    PullsListCommentsForReviewResponse,\n    PullsListCommentsForReviewError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments',\n      operationId: 'pullsListCommentsForReview',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPullsListCommentsForReview(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PullsDismissReviewPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n  /**\n   * review_id parameter\n   */\n  reviewId: number;\n};\n\nexport type PullsDismissReviewError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type PullsDismissReviewRequestBody = {\n  /**\n   * @example \"APPROVE\"\n   */\n  event?: string;\n  /**\n   * The message for the pull request review dismissal\n   */\n  message: string;\n};\n\nexport type PullsDismissReviewVariables = {\n  body: PullsDismissReviewRequestBody;\n  pathParams: PullsDismissReviewPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews.\n */\nexport const fetchPullsDismissReview = (\n  variables: PullsDismissReviewVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestReview,\n    PullsDismissReviewError,\n    PullsDismissReviewRequestBody,\n    {},\n    {},\n    PullsDismissReviewPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/reviews/{reviewId}/dismissals',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews.\n */\nexport const usePullsDismissReview = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PullRequestReview,\n      PullsDismissReviewError,\n      PullsDismissReviewVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PullRequestReview,\n    PullsDismissReviewError,\n    PullsDismissReviewVariables\n  >(\n    (variables: PullsDismissReviewVariables) =>\n      fetchPullsDismissReview({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsSubmitReviewPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n  /**\n   * review_id parameter\n   */\n  reviewId: number;\n};\n\nexport type PullsSubmitReviewError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type PullsSubmitReviewRequestBody = {\n  /**\n   * The body text of the pull request review\n   */\n  body?: string;\n  /**\n   * The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action.\n   */\n  event: 'APPROVE' | 'REQUEST_CHANGES' | 'COMMENT';\n};\n\nexport type PullsSubmitReviewVariables = {\n  body: PullsSubmitReviewRequestBody;\n  pathParams: PullsSubmitReviewPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchPullsSubmitReview = (\n  variables: PullsSubmitReviewVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PullRequestReview,\n    PullsSubmitReviewError,\n    PullsSubmitReviewRequestBody,\n    {},\n    {},\n    PullsSubmitReviewPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/reviews/{reviewId}/events',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\nexport const usePullsSubmitReview = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PullRequestReview,\n      PullsSubmitReviewError,\n      PullsSubmitReviewVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PullRequestReview,\n    PullsSubmitReviewError,\n    PullsSubmitReviewVariables\n  >(\n    (variables: PullsSubmitReviewVariables) =>\n      fetchPullsSubmitReview({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type PullsUpdateBranchPathParams = {\n  owner: string;\n  repo: string;\n  pullNumber: number;\n};\n\nexport type PullsUpdateBranchError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type PullsUpdateBranchResponse = {\n  message?: string;\n  url?: string;\n};\n\nexport type PullsUpdateBranchVariables = {\n  body?: {\n    /**\n     * The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the \"[List commits](https://docs.github.com/rest/reference/repos#list-commits)\" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref.\n     */\n    expected_head_sha?: string;\n  } | null;\n  pathParams: PullsUpdateBranchPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch.\n */\nexport const fetchPullsUpdateBranch = (\n  variables: PullsUpdateBranchVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    PullsUpdateBranchResponse,\n    PullsUpdateBranchError,\n    {\n      /**\n       * The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the \"[List commits](https://docs.github.com/rest/reference/repos#list-commits)\" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref.\n       */\n      expected_head_sha?: string;\n    } | null,\n    {},\n    {},\n    PullsUpdateBranchPathParams\n  >({\n    url: '/repos/{owner}/{repo}/pulls/{pullNumber}/update-branch',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch.\n */\nexport const usePullsUpdateBranch = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      PullsUpdateBranchResponse,\n      PullsUpdateBranchError,\n      PullsUpdateBranchVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    PullsUpdateBranchResponse,\n    PullsUpdateBranchError,\n    PullsUpdateBranchVariables\n  >(\n    (variables: PullsUpdateBranchVariables) =>\n      fetchPullsUpdateBranch({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetReadmePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetReadmeQueryParams = {\n  /**\n   * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`)\n   */\n  ref?: string;\n};\n\nexport type ReposGetReadmeError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposGetReadmeVariables = {\n  pathParams: ReposGetReadmePathParams;\n  queryParams?: ReposGetReadmeQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the preferred README for a repository.\n *\n * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML.\n */\nexport const fetchReposGetReadme = (\n  variables: ReposGetReadmeVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ContentFile,\n    ReposGetReadmeError,\n    undefined,\n    {},\n    ReposGetReadmeQueryParams,\n    ReposGetReadmePathParams\n  >({\n    url: '/repos/{owner}/{repo}/readme',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the preferred README for a repository.\n *\n * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML.\n */\nexport const useReposGetReadme = <TData = Schemas.ContentFile>(\n  variables: ReposGetReadmeVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.ContentFile, ReposGetReadmeError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.ContentFile, ReposGetReadmeError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/readme',\n      operationId: 'reposGetReadme',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetReadme({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetReadmeFromAltPathPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The alternate path to look for a README file\n   */\n  dir: string;\n};\n\nexport type ReposGetReadmeFromAltPathQueryParams = {\n  /**\n   * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`)\n   */\n  ref?: string;\n};\n\nexport type ReposGetReadmeFromAltPathError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposGetReadmeFromAltPathVariables = {\n  pathParams: ReposGetReadmeFromAltPathPathParams;\n  queryParams?: ReposGetReadmeFromAltPathQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the preferred README for a repository.\n *\n * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML.\n */\nexport const fetchReposGetReadmeFromAltPath = (\n  variables: ReposGetReadmeFromAltPathVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ContentFile,\n    ReposGetReadmeFromAltPathError,\n    undefined,\n    {},\n    ReposGetReadmeFromAltPathQueryParams,\n    ReposGetReadmeFromAltPathPathParams\n  >({\n    url: '/repos/{owner}/{repo}/readme/{dir}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the preferred README for a repository.\n *\n * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML.\n */\nexport const useReposGetReadmeFromAltPath = <TData = Schemas.ContentFile>(\n  variables: ReposGetReadmeFromAltPathVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ContentFile,\n      ReposGetReadmeFromAltPathError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ContentFile,\n    ReposGetReadmeFromAltPathError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/readme/{dir}',\n      operationId: 'reposGetReadmeFromAltPath',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetReadmeFromAltPath(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListReleasesPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListReleasesQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListReleasesError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposListReleasesResponse = Schemas.Release[];\n\nexport type ReposListReleasesVariables = {\n  pathParams: ReposListReleasesPathParams;\n  queryParams?: ReposListReleasesQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags).\n *\n * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases.\n */\nexport const fetchReposListReleases = (\n  variables: ReposListReleasesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListReleasesResponse,\n    ReposListReleasesError,\n    undefined,\n    {},\n    ReposListReleasesQueryParams,\n    ReposListReleasesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/releases',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags).\n *\n * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases.\n */\nexport const useReposListReleases = <TData = ReposListReleasesResponse>(\n  variables: ReposListReleasesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListReleasesResponse,\n      ReposListReleasesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListReleasesResponse,\n    ReposListReleasesError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/releases',\n      operationId: 'reposListReleases',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListReleases({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateReleasePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposCreateReleaseError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ReposCreateReleaseRequestBody = {\n  /**\n   * Text describing the contents of the tag.\n   */\n  body?: string;\n  /**\n   * `true` to create a draft (unpublished) release, `false` to create a published one.\n   *\n   * @default false\n   */\n  draft?: boolean;\n  /**\n   * The name of the release.\n   */\n  name?: string;\n  /**\n   * `true` to identify the release as a prerelease. `false` to identify the release as a full release.\n   *\n   * @default false\n   */\n  prerelease?: boolean;\n  /**\n   * The name of the tag.\n   */\n  tag_name: string;\n  /**\n   * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`).\n   */\n  target_commitish?: string;\n};\n\nexport type ReposCreateReleaseVariables = {\n  body: ReposCreateReleaseRequestBody;\n  pathParams: ReposCreateReleasePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Users with push access to the repository can create a release.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const fetchReposCreateRelease = (\n  variables: ReposCreateReleaseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Release,\n    ReposCreateReleaseError,\n    ReposCreateReleaseRequestBody,\n    {},\n    {},\n    ReposCreateReleasePathParams\n  >({\n    url: '/repos/{owner}/{repo}/releases',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Users with push access to the repository can create a release.\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const useReposCreateRelease = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Release,\n      ReposCreateReleaseError,\n      ReposCreateReleaseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Release,\n    ReposCreateReleaseError,\n    ReposCreateReleaseVariables\n  >(\n    (variables: ReposCreateReleaseVariables) =>\n      fetchReposCreateRelease({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposDeleteReleaseAssetPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * asset_id parameter\n   */\n  assetId: number;\n};\n\nexport type ReposDeleteReleaseAssetError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposDeleteReleaseAssetVariables = {\n  pathParams: ReposDeleteReleaseAssetPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposDeleteReleaseAsset = (\n  variables: ReposDeleteReleaseAssetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteReleaseAssetError,\n    undefined,\n    {},\n    {},\n    ReposDeleteReleaseAssetPathParams\n  >({\n    url: '/repos/{owner}/{repo}/releases/assets/{assetId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useReposDeleteReleaseAsset = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteReleaseAssetError,\n      ReposDeleteReleaseAssetVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteReleaseAssetError,\n    ReposDeleteReleaseAssetVariables\n  >(\n    (variables: ReposDeleteReleaseAssetVariables) =>\n      fetchReposDeleteReleaseAsset({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetReleaseAssetPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * asset_id parameter\n   */\n  assetId: number;\n};\n\nexport type ReposGetReleaseAssetError = Fetcher.ErrorWrapper<\n  | {\n      status: 302;\n      payload: Responses.Found;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type ReposGetReleaseAssetVariables = {\n  pathParams: ReposGetReleaseAssetPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response.\n */\nexport const fetchReposGetReleaseAsset = (\n  variables: ReposGetReleaseAssetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ReleaseAsset,\n    ReposGetReleaseAssetError,\n    undefined,\n    {},\n    {},\n    ReposGetReleaseAssetPathParams\n  >({\n    url: '/repos/{owner}/{repo}/releases/assets/{assetId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response.\n */\nexport const useReposGetReleaseAsset = <TData = Schemas.ReleaseAsset>(\n  variables: ReposGetReleaseAssetVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ReleaseAsset,\n      ReposGetReleaseAssetError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ReleaseAsset,\n    ReposGetReleaseAssetError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/releases/assets/{asset_id}',\n      operationId: 'reposGetReleaseAsset',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetReleaseAsset({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposUpdateReleaseAssetPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * asset_id parameter\n   */\n  assetId: number;\n};\n\nexport type ReposUpdateReleaseAssetError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposUpdateReleaseAssetRequestBody = {\n  /**\n   * An alternate short description of the asset. Used in place of the filename.\n   */\n  label?: string;\n  /**\n   * The file name of the asset.\n   */\n  name?: string;\n  /**\n   * @example \"uploaded\"\n   */\n  state?: string;\n};\n\nexport type ReposUpdateReleaseAssetVariables = {\n  body?: ReposUpdateReleaseAssetRequestBody;\n  pathParams: ReposUpdateReleaseAssetPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Users with push access to the repository can edit a release asset.\n */\nexport const fetchReposUpdateReleaseAsset = (\n  variables: ReposUpdateReleaseAssetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ReleaseAsset,\n    ReposUpdateReleaseAssetError,\n    ReposUpdateReleaseAssetRequestBody,\n    {},\n    {},\n    ReposUpdateReleaseAssetPathParams\n  >({\n    url: '/repos/{owner}/{repo}/releases/assets/{assetId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Users with push access to the repository can edit a release asset.\n */\nexport const useReposUpdateReleaseAsset = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ReleaseAsset,\n      ReposUpdateReleaseAssetError,\n      ReposUpdateReleaseAssetVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ReleaseAsset,\n    ReposUpdateReleaseAssetError,\n    ReposUpdateReleaseAssetVariables\n  >(\n    (variables: ReposUpdateReleaseAssetVariables) =>\n      fetchReposUpdateReleaseAsset({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetLatestReleasePathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetLatestReleaseError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetLatestReleaseVariables = {\n  pathParams: ReposGetLatestReleasePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * View the latest published full release for the repository.\n *\n * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published.\n */\nexport const fetchReposGetLatestRelease = (\n  variables: ReposGetLatestReleaseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Release,\n    ReposGetLatestReleaseError,\n    undefined,\n    {},\n    {},\n    ReposGetLatestReleasePathParams\n  >({\n    url: '/repos/{owner}/{repo}/releases/latest',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * View the latest published full release for the repository.\n *\n * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published.\n */\nexport const useReposGetLatestRelease = <TData = Schemas.Release>(\n  variables: ReposGetLatestReleaseVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Release,\n      ReposGetLatestReleaseError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Release,\n    ReposGetLatestReleaseError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/releases/latest',\n      operationId: 'reposGetLatestRelease',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetLatestRelease({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetReleaseByTagPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * tag parameter\n   */\n  tag: string;\n};\n\nexport type ReposGetReleaseByTagError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetReleaseByTagVariables = {\n  pathParams: ReposGetReleaseByTagPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Get a published release with the specified tag.\n */\nexport const fetchReposGetReleaseByTag = (\n  variables: ReposGetReleaseByTagVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Release,\n    ReposGetReleaseByTagError,\n    undefined,\n    {},\n    {},\n    ReposGetReleaseByTagPathParams\n  >({\n    url: '/repos/{owner}/{repo}/releases/tags/{tag}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Get a published release with the specified tag.\n */\nexport const useReposGetReleaseByTag = <TData = Schemas.Release>(\n  variables: ReposGetReleaseByTagVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Release,\n      ReposGetReleaseByTagError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Release, ReposGetReleaseByTagError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/releases/tags/{tag}',\n      operationId: 'reposGetReleaseByTag',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetReleaseByTag({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposDeleteReleasePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * release_id parameter\n   */\n  releaseId: number;\n};\n\nexport type ReposDeleteReleaseError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposDeleteReleaseVariables = {\n  pathParams: ReposDeleteReleasePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Users with push access to the repository can delete a release.\n */\nexport const fetchReposDeleteRelease = (\n  variables: ReposDeleteReleaseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeleteReleaseError,\n    undefined,\n    {},\n    {},\n    ReposDeleteReleasePathParams\n  >({\n    url: '/repos/{owner}/{repo}/releases/{releaseId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Users with push access to the repository can delete a release.\n */\nexport const useReposDeleteRelease = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeleteReleaseError,\n      ReposDeleteReleaseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeleteReleaseError,\n    ReposDeleteReleaseVariables\n  >(\n    (variables: ReposDeleteReleaseVariables) =>\n      fetchReposDeleteRelease({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetReleasePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * release_id parameter\n   */\n  releaseId: number;\n};\n\nexport type ReposGetReleaseError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetReleaseVariables = {\n  pathParams: ReposGetReleasePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia).\n */\nexport const fetchReposGetRelease = (\n  variables: ReposGetReleaseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Release,\n    ReposGetReleaseError,\n    undefined,\n    {},\n    {},\n    ReposGetReleasePathParams\n  >({\n    url: '/repos/{owner}/{repo}/releases/{releaseId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia).\n */\nexport const useReposGetRelease = <TData = Schemas.Release>(\n  variables: ReposGetReleaseVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.Release, ReposGetReleaseError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Release, ReposGetReleaseError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/releases/{release_id}',\n      operationId: 'reposGetRelease',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetRelease({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposUpdateReleasePathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * release_id parameter\n   */\n  releaseId: number;\n};\n\nexport type ReposUpdateReleaseError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposUpdateReleaseRequestBody = {\n  /**\n   * Text describing the contents of the tag.\n   */\n  body?: string;\n  /**\n   * `true` makes the release a draft, and `false` publishes the release.\n   */\n  draft?: boolean;\n  /**\n   * The name of the release.\n   */\n  name?: string;\n  /**\n   * `true` to identify the release as a prerelease, `false` to identify the release as a full release.\n   */\n  prerelease?: boolean;\n  /**\n   * The name of the tag.\n   */\n  tag_name?: string;\n  /**\n   * Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`).\n   */\n  target_commitish?: string;\n};\n\nexport type ReposUpdateReleaseVariables = {\n  body?: ReposUpdateReleaseRequestBody;\n  pathParams: ReposUpdateReleasePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Users with push access to the repository can edit a release.\n */\nexport const fetchReposUpdateRelease = (\n  variables: ReposUpdateReleaseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Release,\n    ReposUpdateReleaseError,\n    ReposUpdateReleaseRequestBody,\n    {},\n    {},\n    ReposUpdateReleasePathParams\n  >({\n    url: '/repos/{owner}/{repo}/releases/{releaseId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Users with push access to the repository can edit a release.\n */\nexport const useReposUpdateRelease = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Release,\n      ReposUpdateReleaseError,\n      ReposUpdateReleaseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Release,\n    ReposUpdateReleaseError,\n    ReposUpdateReleaseVariables\n  >(\n    (variables: ReposUpdateReleaseVariables) =>\n      fetchReposUpdateRelease({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposListReleaseAssetsPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * release_id parameter\n   */\n  releaseId: number;\n};\n\nexport type ReposListReleaseAssetsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListReleaseAssetsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposListReleaseAssetsResponse = Schemas.ReleaseAsset[];\n\nexport type ReposListReleaseAssetsVariables = {\n  pathParams: ReposListReleaseAssetsPathParams;\n  queryParams?: ReposListReleaseAssetsQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposListReleaseAssets = (\n  variables: ReposListReleaseAssetsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListReleaseAssetsResponse,\n    ReposListReleaseAssetsError,\n    undefined,\n    {},\n    ReposListReleaseAssetsQueryParams,\n    ReposListReleaseAssetsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/releases/{releaseId}/assets',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposListReleaseAssets = <\n  TData = ReposListReleaseAssetsResponse,\n>(\n  variables: ReposListReleaseAssetsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListReleaseAssetsResponse,\n      ReposListReleaseAssetsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListReleaseAssetsResponse,\n    ReposListReleaseAssetsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/releases/{release_id}/assets',\n      operationId: 'reposListReleaseAssets',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListReleaseAssets({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposUploadReleaseAssetPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * release_id parameter\n   */\n  releaseId: number;\n};\n\nexport type ReposUploadReleaseAssetQueryParams = {\n  name?: string;\n  label?: string;\n};\n\nexport type ReposUploadReleaseAssetError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposUploadReleaseAssetVariables = {\n  body?: string;\n  pathParams: ReposUploadReleaseAssetPathParams;\n  queryParams?: ReposUploadReleaseAssetQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in\n * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset.\n *\n * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint.\n *\n * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example:\n *\n * `application/zip`\n *\n * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example,\n * you'll still need to pass your authentication to be able to upload an asset.\n *\n * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted.\n *\n * **Notes:**\n * *   GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The \"[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)\"\n * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact).\n * *   If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset.\n */\nexport const fetchReposUploadReleaseAsset = (\n  variables: ReposUploadReleaseAssetVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ReleaseAsset,\n    ReposUploadReleaseAssetError,\n    string,\n    {},\n    ReposUploadReleaseAssetQueryParams,\n    ReposUploadReleaseAssetPathParams\n  >({\n    url: '/repos/{owner}/{repo}/releases/{releaseId}/assets',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in\n * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset.\n *\n * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint.\n *\n * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example:\n *\n * `application/zip`\n *\n * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example,\n * you'll still need to pass your authentication to be able to upload an asset.\n *\n * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted.\n *\n * **Notes:**\n * *   GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The \"[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)\"\n * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact).\n * *   If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset.\n */\nexport const useReposUploadReleaseAsset = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ReleaseAsset,\n      ReposUploadReleaseAssetError,\n      ReposUploadReleaseAssetVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ReleaseAsset,\n    ReposUploadReleaseAssetError,\n    ReposUploadReleaseAssetVariables\n  >(\n    (variables: ReposUploadReleaseAssetVariables) =>\n      fetchReposUploadReleaseAsset({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type SecretScanningListAlertsForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type SecretScanningListAlertsForRepoQueryParams = {\n  /**\n   * Set to `open` or `resolved` to only list secret scanning alerts in a specific state.\n   */\n  state?: 'open' | 'resolved';\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n};\n\nexport type SecretScanningListAlertsForRepoError = Fetcher.ErrorWrapper<{\n  status: 503;\n  payload: Responses.ServiceUnavailable;\n}>;\n\nexport type SecretScanningListAlertsForRepoResponse =\n  Schemas.SecretScanningAlert[];\n\nexport type SecretScanningListAlertsForRepoVariables = {\n  pathParams: SecretScanningListAlertsForRepoPathParams;\n  queryParams?: SecretScanningListAlertsForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope.\n *\n * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.\n */\nexport const fetchSecretScanningListAlertsForRepo = (\n  variables: SecretScanningListAlertsForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    SecretScanningListAlertsForRepoResponse,\n    SecretScanningListAlertsForRepoError,\n    undefined,\n    {},\n    SecretScanningListAlertsForRepoQueryParams,\n    SecretScanningListAlertsForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/secret-scanning/alerts',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope.\n *\n * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.\n */\nexport const useSecretScanningListAlertsForRepo = <\n  TData = SecretScanningListAlertsForRepoResponse,\n>(\n  variables: SecretScanningListAlertsForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      SecretScanningListAlertsForRepoResponse,\n      SecretScanningListAlertsForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    SecretScanningListAlertsForRepoResponse,\n    SecretScanningListAlertsForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/secret-scanning/alerts',\n      operationId: 'secretScanningListAlertsForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchSecretScanningListAlertsForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type SecretScanningGetAlertPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.\n   */\n  alertNumber: Schemas.AlertNumber;\n};\n\nexport type SecretScanningGetAlertError = Fetcher.ErrorWrapper<{\n  status: 503;\n  payload: Responses.ServiceUnavailable;\n}>;\n\nexport type SecretScanningGetAlertVariables = {\n  pathParams: SecretScanningGetAlertPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope.\n *\n * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.\n */\nexport const fetchSecretScanningGetAlert = (\n  variables: SecretScanningGetAlertVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.SecretScanningAlert,\n    SecretScanningGetAlertError,\n    undefined,\n    {},\n    {},\n    SecretScanningGetAlertPathParams\n  >({\n    url: '/repos/{owner}/{repo}/secret-scanning/alerts/{alertNumber}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope.\n *\n * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint.\n */\nexport const useSecretScanningGetAlert = <TData = Schemas.SecretScanningAlert>(\n  variables: SecretScanningGetAlertVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.SecretScanningAlert,\n      SecretScanningGetAlertError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.SecretScanningAlert,\n    SecretScanningGetAlertError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}',\n      operationId: 'secretScanningGetAlert',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchSecretScanningGetAlert({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type SecretScanningUpdateAlertPathParams = {\n  owner: string;\n  repo: string;\n  /**\n   * The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation.\n   */\n  alertNumber: Schemas.AlertNumber;\n};\n\nexport type SecretScanningUpdateAlertError = Fetcher.ErrorWrapper<{\n  status: 503;\n  payload: Responses.ServiceUnavailable;\n}>;\n\nexport type SecretScanningUpdateAlertRequestBody = {\n  resolution?: Schemas.SecretScanningAlertResolution;\n  state: Schemas.SecretScanningAlertState;\n};\n\nexport type SecretScanningUpdateAlertVariables = {\n  body: SecretScanningUpdateAlertRequestBody;\n  pathParams: SecretScanningUpdateAlertPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope.\n *\n * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint.\n */\nexport const fetchSecretScanningUpdateAlert = (\n  variables: SecretScanningUpdateAlertVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.SecretScanningAlert,\n    SecretScanningUpdateAlertError,\n    SecretScanningUpdateAlertRequestBody,\n    {},\n    {},\n    SecretScanningUpdateAlertPathParams\n  >({\n    url: '/repos/{owner}/{repo}/secret-scanning/alerts/{alertNumber}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the `repo` scope or `security_events` scope.\n *\n * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint.\n */\nexport const useSecretScanningUpdateAlert = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.SecretScanningAlert,\n      SecretScanningUpdateAlertError,\n      SecretScanningUpdateAlertVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.SecretScanningAlert,\n    SecretScanningUpdateAlertError,\n    SecretScanningUpdateAlertVariables\n  >(\n    (variables: SecretScanningUpdateAlertVariables) =>\n      fetchSecretScanningUpdateAlert({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActivityListStargazersForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActivityListStargazersForRepoQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListStargazersForRepoError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type ActivityListStargazersForRepoResponse = Schemas.SimpleUser[];\n\nexport type ActivityListStargazersForRepoVariables = {\n  pathParams: ActivityListStargazersForRepoPathParams;\n  queryParams?: ActivityListStargazersForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the people that have starred the repository.\n *\n * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:\n */\nexport const fetchActivityListStargazersForRepo = (\n  variables: ActivityListStargazersForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListStargazersForRepoResponse,\n    ActivityListStargazersForRepoError,\n    undefined,\n    {},\n    ActivityListStargazersForRepoQueryParams,\n    ActivityListStargazersForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/stargazers',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the people that have starred the repository.\n *\n * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:\n */\nexport const useActivityListStargazersForRepo = <\n  TData = ActivityListStargazersForRepoResponse,\n>(\n  variables: ActivityListStargazersForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListStargazersForRepoResponse,\n      ActivityListStargazersForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListStargazersForRepoResponse,\n    ActivityListStargazersForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/stargazers',\n      operationId: 'activityListStargazersForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListStargazersForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetCodeFrequencyStatsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetCodeFrequencyStatsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetCodeFrequencyStatsResponse = Schemas.CodeFrequencyStat[];\n\nexport type ReposGetCodeFrequencyStatsVariables = {\n  pathParams: ReposGetCodeFrequencyStatsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns a weekly aggregate of the number of additions and deletions pushed to a repository.\n */\nexport const fetchReposGetCodeFrequencyStats = (\n  variables: ReposGetCodeFrequencyStatsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposGetCodeFrequencyStatsResponse,\n    ReposGetCodeFrequencyStatsError,\n    undefined,\n    {},\n    {},\n    ReposGetCodeFrequencyStatsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/stats/code_frequency',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns a weekly aggregate of the number of additions and deletions pushed to a repository.\n */\nexport const useReposGetCodeFrequencyStats = <\n  TData = ReposGetCodeFrequencyStatsResponse,\n>(\n  variables: ReposGetCodeFrequencyStatsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposGetCodeFrequencyStatsResponse,\n      ReposGetCodeFrequencyStatsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposGetCodeFrequencyStatsResponse,\n    ReposGetCodeFrequencyStatsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/stats/code_frequency',\n      operationId: 'reposGetCodeFrequencyStats',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetCodeFrequencyStats(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetCommitActivityStatsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetCommitActivityStatsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetCommitActivityStatsResponse = Schemas.CommitActivity[];\n\nexport type ReposGetCommitActivityStatsVariables = {\n  pathParams: ReposGetCommitActivityStatsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`.\n */\nexport const fetchReposGetCommitActivityStats = (\n  variables: ReposGetCommitActivityStatsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposGetCommitActivityStatsResponse,\n    ReposGetCommitActivityStatsError,\n    undefined,\n    {},\n    {},\n    ReposGetCommitActivityStatsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/stats/commit_activity',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`.\n */\nexport const useReposGetCommitActivityStats = <\n  TData = ReposGetCommitActivityStatsResponse,\n>(\n  variables: ReposGetCommitActivityStatsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposGetCommitActivityStatsResponse,\n      ReposGetCommitActivityStatsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposGetCommitActivityStatsResponse,\n    ReposGetCommitActivityStatsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/stats/commit_activity',\n      operationId: 'reposGetCommitActivityStats',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetCommitActivityStats(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetContributorsStatsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetContributorsStatsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetContributorsStatsResponse = Schemas.ContributorActivity[];\n\nexport type ReposGetContributorsStatsVariables = {\n  pathParams: ReposGetContributorsStatsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information:\n *\n * *   `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time).\n * *   `a` - Number of additions\n * *   `d` - Number of deletions\n * *   `c` - Number of commits\n */\nexport const fetchReposGetContributorsStats = (\n  variables: ReposGetContributorsStatsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposGetContributorsStatsResponse,\n    ReposGetContributorsStatsError,\n    undefined,\n    {},\n    {},\n    ReposGetContributorsStatsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/stats/contributors',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information:\n *\n * *   `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time).\n * *   `a` - Number of additions\n * *   `d` - Number of deletions\n * *   `c` - Number of commits\n */\nexport const useReposGetContributorsStats = <\n  TData = ReposGetContributorsStatsResponse,\n>(\n  variables: ReposGetContributorsStatsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposGetContributorsStatsResponse,\n      ReposGetContributorsStatsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposGetContributorsStatsResponse,\n    ReposGetContributorsStatsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/stats/contributors',\n      operationId: 'reposGetContributorsStats',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetContributorsStats(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetParticipationStatsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetParticipationStatsError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type ReposGetParticipationStatsVariables = {\n  pathParams: ReposGetParticipationStatsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`.\n *\n * The array order is oldest week (index 0) to most recent week.\n */\nexport const fetchReposGetParticipationStats = (\n  variables: ReposGetParticipationStatsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ParticipationStats,\n    ReposGetParticipationStatsError,\n    undefined,\n    {},\n    {},\n    ReposGetParticipationStatsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/stats/participation',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`.\n *\n * The array order is oldest week (index 0) to most recent week.\n */\nexport const useReposGetParticipationStats = <\n  TData = Schemas.ParticipationStats,\n>(\n  variables: ReposGetParticipationStatsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ParticipationStats,\n      ReposGetParticipationStatsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ParticipationStats,\n    ReposGetParticipationStatsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/stats/participation',\n      operationId: 'reposGetParticipationStats',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetParticipationStats(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetPunchCardStatsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetPunchCardStatsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposGetPunchCardStatsResponse = Schemas.CodeFrequencyStat[];\n\nexport type ReposGetPunchCardStatsVariables = {\n  pathParams: ReposGetPunchCardStatsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Each array contains the day number, hour number, and number of commits:\n *\n * *   `0-6`: Sunday - Saturday\n * *   `0-23`: Hour of day\n * *   Number of commits\n *\n * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits.\n */\nexport const fetchReposGetPunchCardStats = (\n  variables: ReposGetPunchCardStatsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposGetPunchCardStatsResponse,\n    ReposGetPunchCardStatsError,\n    undefined,\n    {},\n    {},\n    ReposGetPunchCardStatsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/stats/punch_card',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Each array contains the day number, hour number, and number of commits:\n *\n * *   `0-6`: Sunday - Saturday\n * *   `0-23`: Hour of day\n * *   Number of commits\n *\n * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits.\n */\nexport const useReposGetPunchCardStats = <\n  TData = ReposGetPunchCardStatsResponse,\n>(\n  variables: ReposGetPunchCardStatsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposGetPunchCardStatsResponse,\n      ReposGetPunchCardStatsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposGetPunchCardStatsResponse,\n    ReposGetPunchCardStatsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/stats/punch_card',\n      operationId: 'reposGetPunchCardStats',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetPunchCardStats({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateCommitStatusPathParams = {\n  owner: string;\n  repo: string;\n  sha: string;\n};\n\nexport type ReposCreateCommitStatusError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposCreateCommitStatusRequestBody = {\n  /**\n   * A string label to differentiate this status from the status of other systems. This field is case-insensitive.\n   *\n   * @default default\n   */\n  context?: string;\n  /**\n   * A short description of the status.\n   */\n  description?: string;\n  /**\n   * The state of the status. Can be one of `error`, `failure`, `pending`, or `success`.\n   */\n  state: 'error' | 'failure' | 'pending' | 'success';\n  /**\n   * The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status.\n   * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA:\n   * `http://ci.example.com/user/repo/build/sha`\n   */\n  target_url?: string;\n};\n\nexport type ReposCreateCommitStatusVariables = {\n  body: ReposCreateCommitStatusRequestBody;\n  pathParams: ReposCreateCommitStatusPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Users with push access in a repository can create commit statuses for a given SHA.\n *\n * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error.\n */\nexport const fetchReposCreateCommitStatus = (\n  variables: ReposCreateCommitStatusVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Status,\n    ReposCreateCommitStatusError,\n    ReposCreateCommitStatusRequestBody,\n    {},\n    {},\n    ReposCreateCommitStatusPathParams\n  >({\n    url: '/repos/{owner}/{repo}/statuses/{sha}',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Users with push access in a repository can create commit statuses for a given SHA.\n *\n * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error.\n */\nexport const useReposCreateCommitStatus = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Status,\n      ReposCreateCommitStatusError,\n      ReposCreateCommitStatusVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Status,\n    ReposCreateCommitStatusError,\n    ReposCreateCommitStatusVariables\n  >(\n    (variables: ReposCreateCommitStatusVariables) =>\n      fetchReposCreateCommitStatus({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActivityListWatchersForRepoPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActivityListWatchersForRepoQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListWatchersForRepoError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityListWatchersForRepoResponse = Schemas.SimpleUser[];\n\nexport type ActivityListWatchersForRepoVariables = {\n  pathParams: ActivityListWatchersForRepoPathParams;\n  queryParams?: ActivityListWatchersForRepoQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the people watching the specified repository.\n */\nexport const fetchActivityListWatchersForRepo = (\n  variables: ActivityListWatchersForRepoVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListWatchersForRepoResponse,\n    ActivityListWatchersForRepoError,\n    undefined,\n    {},\n    ActivityListWatchersForRepoQueryParams,\n    ActivityListWatchersForRepoPathParams\n  >({\n    url: '/repos/{owner}/{repo}/subscribers',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the people watching the specified repository.\n */\nexport const useActivityListWatchersForRepo = <\n  TData = ActivityListWatchersForRepoResponse,\n>(\n  variables: ActivityListWatchersForRepoVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListWatchersForRepoResponse,\n      ActivityListWatchersForRepoError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListWatchersForRepoResponse,\n    ActivityListWatchersForRepoError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/subscribers',\n      operationId: 'activityListWatchersForRepo',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListWatchersForRepo(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityDeleteRepoSubscriptionPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActivityDeleteRepoSubscriptionError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityDeleteRepoSubscriptionVariables = {\n  pathParams: ActivityDeleteRepoSubscriptionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription).\n */\nexport const fetchActivityDeleteRepoSubscription = (\n  variables: ActivityDeleteRepoSubscriptionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActivityDeleteRepoSubscriptionError,\n    undefined,\n    {},\n    {},\n    ActivityDeleteRepoSubscriptionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/subscription',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription).\n */\nexport const useActivityDeleteRepoSubscription = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActivityDeleteRepoSubscriptionError,\n      ActivityDeleteRepoSubscriptionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActivityDeleteRepoSubscriptionError,\n    ActivityDeleteRepoSubscriptionVariables\n  >(\n    (variables: ActivityDeleteRepoSubscriptionVariables) =>\n      fetchActivityDeleteRepoSubscription({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActivityGetRepoSubscriptionPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActivityGetRepoSubscriptionError = Fetcher.ErrorWrapper<{\n  status: 403;\n  payload: Responses.Forbidden;\n}>;\n\nexport type ActivityGetRepoSubscriptionVariables = {\n  pathParams: ActivityGetRepoSubscriptionPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchActivityGetRepoSubscription = (\n  variables: ActivityGetRepoSubscriptionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RepositorySubscription,\n    ActivityGetRepoSubscriptionError,\n    undefined,\n    {},\n    {},\n    ActivityGetRepoSubscriptionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/subscription',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useActivityGetRepoSubscription = <\n  TData = Schemas.RepositorySubscription,\n>(\n  variables: ActivityGetRepoSubscriptionVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.RepositorySubscription,\n      ActivityGetRepoSubscriptionError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.RepositorySubscription,\n    ActivityGetRepoSubscriptionError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/subscription',\n      operationId: 'activityGetRepoSubscription',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityGetRepoSubscription(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivitySetRepoSubscriptionPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActivitySetRepoSubscriptionError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivitySetRepoSubscriptionRequestBody = {\n  /**\n   * Determines if all notifications should be blocked from this repository.\n   */\n  ignored?: boolean;\n  /**\n   * Determines if notifications should be received from this repository.\n   */\n  subscribed?: boolean;\n};\n\nexport type ActivitySetRepoSubscriptionVariables = {\n  body?: ActivitySetRepoSubscriptionRequestBody;\n  pathParams: ActivitySetRepoSubscriptionPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely.\n */\nexport const fetchActivitySetRepoSubscription = (\n  variables: ActivitySetRepoSubscriptionVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.RepositorySubscription,\n    ActivitySetRepoSubscriptionError,\n    ActivitySetRepoSubscriptionRequestBody,\n    {},\n    {},\n    ActivitySetRepoSubscriptionPathParams\n  >({\n    url: '/repos/{owner}/{repo}/subscription',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely.\n */\nexport const useActivitySetRepoSubscription = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.RepositorySubscription,\n      ActivitySetRepoSubscriptionError,\n      ActivitySetRepoSubscriptionVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.RepositorySubscription,\n    ActivitySetRepoSubscriptionError,\n    ActivitySetRepoSubscriptionVariables\n  >(\n    (variables: ActivitySetRepoSubscriptionVariables) =>\n      fetchActivitySetRepoSubscription({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposListTagsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListTagsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListTagsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposListTagsResponse = Schemas.Tag[];\n\nexport type ReposListTagsVariables = {\n  pathParams: ReposListTagsPathParams;\n  queryParams?: ReposListTagsQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposListTags = (\n  variables: ReposListTagsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListTagsResponse,\n    ReposListTagsError,\n    undefined,\n    {},\n    ReposListTagsQueryParams,\n    ReposListTagsPathParams\n  >({ url: '/repos/{owner}/{repo}/tags', method: 'get', ...variables, signal });\n\nexport const useReposListTags = <TData = ReposListTagsResponse>(\n  variables: ReposListTagsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListTagsResponse,\n      ReposListTagsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<ReposListTagsResponse, ReposListTagsError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/tags',\n      operationId: 'reposListTags',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListTags({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposDownloadTarballArchivePathParams = {\n  owner: string;\n  repo: string;\n  ref: string;\n};\n\nexport type ReposDownloadTarballArchiveError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposDownloadTarballArchiveVariables = {\n  pathParams: ReposDownloadTarballArchivePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually\n * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use\n * the `Location` header to make a second `GET` request.\n * **Note**: For private repositories, these links are temporary and expire after five minutes.\n */\nexport const fetchReposDownloadTarballArchive = (\n  variables: ReposDownloadTarballArchiveVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDownloadTarballArchiveError,\n    undefined,\n    {},\n    {},\n    ReposDownloadTarballArchivePathParams\n  >({\n    url: '/repos/{owner}/{repo}/tarball/{ref}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually\n * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use\n * the `Location` header to make a second `GET` request.\n * **Note**: For private repositories, these links are temporary and expire after five minutes.\n */\nexport const useReposDownloadTarballArchive = <TData = undefined>(\n  variables: ReposDownloadTarballArchiveVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      ReposDownloadTarballArchiveError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    ReposDownloadTarballArchiveError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/tarball/{ref}',\n      operationId: 'reposDownloadTarballArchive',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposDownloadTarballArchive(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListTeamsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposListTeamsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListTeamsError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposListTeamsResponse = Schemas.Team[];\n\nexport type ReposListTeamsVariables = {\n  pathParams: ReposListTeamsPathParams;\n  queryParams?: ReposListTeamsQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposListTeams = (\n  variables: ReposListTeamsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListTeamsResponse,\n    ReposListTeamsError,\n    undefined,\n    {},\n    ReposListTeamsQueryParams,\n    ReposListTeamsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/teams',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposListTeams = <TData = ReposListTeamsResponse>(\n  variables: ReposListTeamsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListTeamsResponse,\n      ReposListTeamsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListTeamsResponse,\n    ReposListTeamsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/teams',\n      operationId: 'reposListTeams',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListTeams({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetAllTopicsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetAllTopicsQueryParams = {\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n};\n\nexport type ReposGetAllTopicsError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type ReposGetAllTopicsVariables = {\n  pathParams: ReposGetAllTopicsPathParams;\n  queryParams?: ReposGetAllTopicsQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposGetAllTopics = (\n  variables: ReposGetAllTopicsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Topic,\n    ReposGetAllTopicsError,\n    undefined,\n    {},\n    ReposGetAllTopicsQueryParams,\n    ReposGetAllTopicsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/topics',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useReposGetAllTopics = <TData = Schemas.Topic>(\n  variables: ReposGetAllTopicsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.Topic, ReposGetAllTopicsError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.Topic, ReposGetAllTopicsError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/topics',\n      operationId: 'reposGetAllTopics',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetAllTopics({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposReplaceAllTopicsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposReplaceAllTopicsError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type ReposReplaceAllTopicsRequestBody = {\n  /**\n   * An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters.\n   */\n  names: string[];\n};\n\nexport type ReposReplaceAllTopicsVariables = {\n  body: ReposReplaceAllTopicsRequestBody;\n  pathParams: ReposReplaceAllTopicsPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposReplaceAllTopics = (\n  variables: ReposReplaceAllTopicsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Topic,\n    ReposReplaceAllTopicsError,\n    ReposReplaceAllTopicsRequestBody,\n    {},\n    {},\n    ReposReplaceAllTopicsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/topics',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\nexport const useReposReplaceAllTopics = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Topic,\n      ReposReplaceAllTopicsError,\n      ReposReplaceAllTopicsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Topic,\n    ReposReplaceAllTopicsError,\n    ReposReplaceAllTopicsVariables\n  >(\n    (variables: ReposReplaceAllTopicsVariables) =>\n      fetchReposReplaceAllTopics({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposGetClonesPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetClonesQueryParams = {\n  /**\n   * Must be one of: `day`, `week`.\n   *\n   * @default day\n   */\n  per?: '' | 'day' | 'week';\n};\n\nexport type ReposGetClonesError = Fetcher.ErrorWrapper<{\n  status: 403;\n  payload: Responses.Forbidden;\n}>;\n\nexport type ReposGetClonesVariables = {\n  pathParams: ReposGetClonesPathParams;\n  queryParams?: ReposGetClonesQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.\n */\nexport const fetchReposGetClones = (\n  variables: ReposGetClonesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CloneTraffic,\n    ReposGetClonesError,\n    undefined,\n    {},\n    ReposGetClonesQueryParams,\n    ReposGetClonesPathParams\n  >({\n    url: '/repos/{owner}/{repo}/traffic/clones',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.\n */\nexport const useReposGetClones = <TData = Schemas.CloneTraffic>(\n  variables: ReposGetClonesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CloneTraffic,\n      ReposGetClonesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.CloneTraffic, ReposGetClonesError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/traffic/clones',\n      operationId: 'reposGetClones',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetClones({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetTopPathsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetTopPathsError = Fetcher.ErrorWrapper<{\n  status: 403;\n  payload: Responses.Forbidden;\n}>;\n\nexport type ReposGetTopPathsResponse = Schemas.ContentTraffic[];\n\nexport type ReposGetTopPathsVariables = {\n  pathParams: ReposGetTopPathsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Get the top 10 popular contents over the last 14 days.\n */\nexport const fetchReposGetTopPaths = (\n  variables: ReposGetTopPathsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposGetTopPathsResponse,\n    ReposGetTopPathsError,\n    undefined,\n    {},\n    {},\n    ReposGetTopPathsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/traffic/popular/paths',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Get the top 10 popular contents over the last 14 days.\n */\nexport const useReposGetTopPaths = <TData = ReposGetTopPathsResponse>(\n  variables: ReposGetTopPathsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposGetTopPathsResponse,\n      ReposGetTopPathsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposGetTopPathsResponse,\n    ReposGetTopPathsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/traffic/popular/paths',\n      operationId: 'reposGetTopPaths',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetTopPaths({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetTopReferrersPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetTopReferrersError = Fetcher.ErrorWrapper<{\n  status: 403;\n  payload: Responses.Forbidden;\n}>;\n\nexport type ReposGetTopReferrersResponse = Schemas.ReferrerTraffic[];\n\nexport type ReposGetTopReferrersVariables = {\n  pathParams: ReposGetTopReferrersPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Get the top 10 referrers over the last 14 days.\n */\nexport const fetchReposGetTopReferrers = (\n  variables: ReposGetTopReferrersVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposGetTopReferrersResponse,\n    ReposGetTopReferrersError,\n    undefined,\n    {},\n    {},\n    ReposGetTopReferrersPathParams\n  >({\n    url: '/repos/{owner}/{repo}/traffic/popular/referrers',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Get the top 10 referrers over the last 14 days.\n */\nexport const useReposGetTopReferrers = <TData = ReposGetTopReferrersResponse>(\n  variables: ReposGetTopReferrersVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposGetTopReferrersResponse,\n      ReposGetTopReferrersError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposGetTopReferrersResponse,\n    ReposGetTopReferrersError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/traffic/popular/referrers',\n      operationId: 'reposGetTopReferrers',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetTopReferrers({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposGetViewsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposGetViewsQueryParams = {\n  /**\n   * Must be one of: `day`, `week`.\n   *\n   * @default day\n   */\n  per?: '' | 'day' | 'week';\n};\n\nexport type ReposGetViewsError = Fetcher.ErrorWrapper<{\n  status: 403;\n  payload: Responses.Forbidden;\n}>;\n\nexport type ReposGetViewsVariables = {\n  pathParams: ReposGetViewsPathParams;\n  queryParams?: ReposGetViewsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.\n */\nexport const fetchReposGetViews = (\n  variables: ReposGetViewsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ViewTraffic,\n    ReposGetViewsError,\n    undefined,\n    {},\n    ReposGetViewsQueryParams,\n    ReposGetViewsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/traffic/views',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.\n */\nexport const useReposGetViews = <TData = Schemas.ViewTraffic>(\n  variables: ReposGetViewsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.ViewTraffic, ReposGetViewsError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.ViewTraffic, ReposGetViewsError, TData>(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/traffic/views',\n      operationId: 'reposGetViews',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposGetViews({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposTransferPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposTransferError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposTransferRequestBody = {\n  /**\n   * The username or organization name the repository will be transferred to.\n   */\n  new_owner: string;\n  /**\n   * ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.\n   */\n  team_ids?: number[];\n};\n\nexport type ReposTransferVariables = {\n  body: ReposTransferRequestBody;\n  pathParams: ReposTransferPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/).\n */\nexport const fetchReposTransfer = (\n  variables: ReposTransferVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Repository,\n    ReposTransferError,\n    ReposTransferRequestBody,\n    {},\n    {},\n    ReposTransferPathParams\n  >({\n    url: '/repos/{owner}/{repo}/transfer',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://help.github.com/articles/about-repository-transfers/).\n */\nexport const useReposTransfer = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Repository,\n      ReposTransferError,\n      ReposTransferVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Repository,\n    ReposTransferError,\n    ReposTransferVariables\n  >(\n    (variables: ReposTransferVariables) =>\n      fetchReposTransfer({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposDisableVulnerabilityAlertsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposDisableVulnerabilityAlertsError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposDisableVulnerabilityAlertsVariables = {\n  pathParams: ReposDisableVulnerabilityAlertsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see \"[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)\".\n */\nexport const fetchReposDisableVulnerabilityAlerts = (\n  variables: ReposDisableVulnerabilityAlertsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDisableVulnerabilityAlertsError,\n    undefined,\n    {},\n    {},\n    ReposDisableVulnerabilityAlertsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/vulnerability-alerts',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see \"[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)\".\n */\nexport const useReposDisableVulnerabilityAlerts = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDisableVulnerabilityAlertsError,\n      ReposDisableVulnerabilityAlertsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDisableVulnerabilityAlertsError,\n    ReposDisableVulnerabilityAlertsVariables\n  >(\n    (variables: ReposDisableVulnerabilityAlertsVariables) =>\n      fetchReposDisableVulnerabilityAlerts({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposCheckVulnerabilityAlertsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposCheckVulnerabilityAlertsError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposCheckVulnerabilityAlertsVariables = {\n  pathParams: ReposCheckVulnerabilityAlertsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see \"[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)\".\n */\nexport const fetchReposCheckVulnerabilityAlerts = (\n  variables: ReposCheckVulnerabilityAlertsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposCheckVulnerabilityAlertsError,\n    undefined,\n    {},\n    {},\n    ReposCheckVulnerabilityAlertsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/vulnerability-alerts',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin access to the repository. For more information, see \"[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)\".\n */\nexport const useReposCheckVulnerabilityAlerts = <TData = undefined>(\n  variables: ReposCheckVulnerabilityAlertsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      ReposCheckVulnerabilityAlertsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    ReposCheckVulnerabilityAlertsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/vulnerability-alerts',\n      operationId: 'reposCheckVulnerabilityAlerts',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposCheckVulnerabilityAlerts(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposEnableVulnerabilityAlertsPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ReposEnableVulnerabilityAlertsError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposEnableVulnerabilityAlertsVariables = {\n  pathParams: ReposEnableVulnerabilityAlertsPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see \"[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)\".\n */\nexport const fetchReposEnableVulnerabilityAlerts = (\n  variables: ReposEnableVulnerabilityAlertsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposEnableVulnerabilityAlertsError,\n    undefined,\n    {},\n    {},\n    ReposEnableVulnerabilityAlertsPathParams\n  >({\n    url: '/repos/{owner}/{repo}/vulnerability-alerts',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see \"[About security alerts for vulnerable dependencies](https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)\".\n */\nexport const useReposEnableVulnerabilityAlerts = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposEnableVulnerabilityAlertsError,\n      ReposEnableVulnerabilityAlertsVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposEnableVulnerabilityAlertsError,\n    ReposEnableVulnerabilityAlertsVariables\n  >(\n    (variables: ReposEnableVulnerabilityAlertsVariables) =>\n      fetchReposEnableVulnerabilityAlerts({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposDownloadZipballArchivePathParams = {\n  owner: string;\n  repo: string;\n  ref: string;\n};\n\nexport type ReposDownloadZipballArchiveError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposDownloadZipballArchiveVariables = {\n  pathParams: ReposDownloadZipballArchivePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually\n * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use\n * the `Location` header to make a second `GET` request.\n * **Note**: For private repositories, these links are temporary and expire after five minutes.\n */\nexport const fetchReposDownloadZipballArchive = (\n  variables: ReposDownloadZipballArchiveVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDownloadZipballArchiveError,\n    undefined,\n    {},\n    {},\n    ReposDownloadZipballArchivePathParams\n  >({\n    url: '/repos/{owner}/{repo}/zipball/{ref}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually\n * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use\n * the `Location` header to make a second `GET` request.\n * **Note**: For private repositories, these links are temporary and expire after five minutes.\n */\nexport const useReposDownloadZipballArchive = <TData = undefined>(\n  variables: ReposDownloadZipballArchiveVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      ReposDownloadZipballArchiveError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    ReposDownloadZipballArchiveError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repos/{owner}/{repo}/zipball/{ref}',\n      operationId: 'reposDownloadZipballArchive',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposDownloadZipballArchive(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateUsingTemplatePathParams = {\n  templateOwner: string;\n  templateRepo: string;\n};\n\nexport type ReposCreateUsingTemplateError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposCreateUsingTemplateRequestBody = {\n  /**\n   * A short description of the new repository.\n   */\n  description?: string;\n  /**\n   * Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`.\n   *\n   * @default false\n   */\n  include_all_branches?: boolean;\n  /**\n   * The name of the new repository.\n   */\n  name: string;\n  /**\n   * The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization.\n   */\n  owner?: string;\n  /**\n   * Either `true` to create a new private repository or `false` to create a new public one.\n   *\n   * @default false\n   */\n  private?: boolean;\n};\n\nexport type ReposCreateUsingTemplateVariables = {\n  body: ReposCreateUsingTemplateRequestBody;\n  pathParams: ReposCreateUsingTemplatePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n *\n * **OAuth scope requirements**\n *\n * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n *\n * *   `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n * *   `repo` scope to create a private repository\n */\nexport const fetchReposCreateUsingTemplate = (\n  variables: ReposCreateUsingTemplateVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Repository,\n    ReposCreateUsingTemplateError,\n    ReposCreateUsingTemplateRequestBody,\n    {},\n    {},\n    ReposCreateUsingTemplatePathParams\n  >({\n    url: '/repos/{templateOwner}/{templateRepo}/generate',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n *\n * **OAuth scope requirements**\n *\n * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n *\n * *   `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n * *   `repo` scope to create a private repository\n */\nexport const useReposCreateUsingTemplate = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Repository,\n      ReposCreateUsingTemplateError,\n      ReposCreateUsingTemplateVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Repository,\n    ReposCreateUsingTemplateError,\n    ReposCreateUsingTemplateVariables\n  >(\n    (variables: ReposCreateUsingTemplateVariables) =>\n      fetchReposCreateUsingTemplate({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposListPublicQueryParams = {\n  /**\n   * A repository ID. Only return repositories with an ID greater than this ID.\n   */\n  since?: number;\n};\n\nexport type ReposListPublicError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposListPublicResponse = Schemas.MinimalRepository[];\n\nexport type ReposListPublicVariables = {\n  queryParams?: ReposListPublicQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all public repositories in the order that they were created.\n *\n * Notes:\n * - For GitHub Enterprise Server and GitHub AE, this endpoint will only list repositories available to all users on the enterprise.\n * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories.\n */\nexport const fetchReposListPublic = (\n  variables: ReposListPublicVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListPublicResponse,\n    ReposListPublicError,\n    undefined,\n    {},\n    ReposListPublicQueryParams,\n    {}\n  >({ url: '/repositories', method: 'get', ...variables, signal });\n\n/**\n * Lists all public repositories in the order that they were created.\n *\n * Notes:\n * - For GitHub Enterprise Server and GitHub AE, this endpoint will only list repositories available to all users on the enterprise.\n * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories.\n */\nexport const useReposListPublic = <TData = ReposListPublicResponse>(\n  variables: ReposListPublicVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListPublicResponse,\n      ReposListPublicError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListPublicResponse,\n    ReposListPublicError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repositories',\n      operationId: 'reposListPublic',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListPublic({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsListEnvironmentSecretsPathParams = {\n  repositoryId: number;\n  /**\n   * The name of the environment\n   */\n  environmentName: string;\n};\n\nexport type ActionsListEnvironmentSecretsQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActionsListEnvironmentSecretsError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsListEnvironmentSecretsResponse = {\n  secrets: Schemas.ActionsSecret[];\n  total_count: number;\n};\n\nexport type ActionsListEnvironmentSecretsVariables = {\n  pathParams: ActionsListEnvironmentSecretsPathParams;\n  queryParams?: ActionsListEnvironmentSecretsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const fetchActionsListEnvironmentSecrets = (\n  variables: ActionsListEnvironmentSecretsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActionsListEnvironmentSecretsResponse,\n    ActionsListEnvironmentSecretsError,\n    undefined,\n    {},\n    ActionsListEnvironmentSecretsQueryParams,\n    ActionsListEnvironmentSecretsPathParams\n  >({\n    url: '/repositories/{repositoryId}/environments/{environmentName}/secrets',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const useActionsListEnvironmentSecrets = <\n  TData = ActionsListEnvironmentSecretsResponse,\n>(\n  variables: ActionsListEnvironmentSecretsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActionsListEnvironmentSecretsResponse,\n      ActionsListEnvironmentSecretsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActionsListEnvironmentSecretsResponse,\n    ActionsListEnvironmentSecretsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repositories/{repository_id}/environments/{environment_name}/secrets',\n      operationId: 'actionsListEnvironmentSecrets',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsListEnvironmentSecrets(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsGetEnvironmentPublicKeyPathParams = {\n  repositoryId: number;\n  /**\n   * The name of the environment\n   */\n  environmentName: string;\n};\n\nexport type ActionsGetEnvironmentPublicKeyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetEnvironmentPublicKeyVariables = {\n  pathParams: ActionsGetEnvironmentPublicKeyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const fetchActionsGetEnvironmentPublicKey = (\n  variables: ActionsGetEnvironmentPublicKeyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ActionsPublicKey,\n    ActionsGetEnvironmentPublicKeyError,\n    undefined,\n    {},\n    {},\n    ActionsGetEnvironmentPublicKeyPathParams\n  >({\n    url: '/repositories/{repositoryId}/environments/{environmentName}/secrets/public-key',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const useActionsGetEnvironmentPublicKey = <\n  TData = Schemas.ActionsPublicKey,\n>(\n  variables: ActionsGetEnvironmentPublicKeyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ActionsPublicKey,\n      ActionsGetEnvironmentPublicKeyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ActionsPublicKey,\n    ActionsGetEnvironmentPublicKeyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repositories/{repository_id}/environments/{environment_name}/secrets/public-key',\n      operationId: 'actionsGetEnvironmentPublicKey',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetEnvironmentPublicKey(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsDeleteEnvironmentSecretPathParams = {\n  repositoryId: number;\n  /**\n   * The name of the environment\n   */\n  environmentName: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n};\n\nexport type ActionsDeleteEnvironmentSecretError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsDeleteEnvironmentSecretVariables = {\n  pathParams: ActionsDeleteEnvironmentSecretPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const fetchActionsDeleteEnvironmentSecret = (\n  variables: ActionsDeleteEnvironmentSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsDeleteEnvironmentSecretError,\n    undefined,\n    {},\n    {},\n    ActionsDeleteEnvironmentSecretPathParams\n  >({\n    url: '/repositories/{repositoryId}/environments/{environmentName}/secrets/{secretName}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const useActionsDeleteEnvironmentSecret = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsDeleteEnvironmentSecretError,\n      ActionsDeleteEnvironmentSecretVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsDeleteEnvironmentSecretError,\n    ActionsDeleteEnvironmentSecretVariables\n  >(\n    (variables: ActionsDeleteEnvironmentSecretVariables) =>\n      fetchActionsDeleteEnvironmentSecret({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActionsGetEnvironmentSecretPathParams = {\n  repositoryId: number;\n  /**\n   * The name of the environment\n   */\n  environmentName: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n};\n\nexport type ActionsGetEnvironmentSecretError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsGetEnvironmentSecretVariables = {\n  pathParams: ActionsGetEnvironmentSecretPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const fetchActionsGetEnvironmentSecret = (\n  variables: ActionsGetEnvironmentSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ActionsSecret,\n    ActionsGetEnvironmentSecretError,\n    undefined,\n    {},\n    {},\n    ActionsGetEnvironmentSecretPathParams\n  >({\n    url: '/repositories/{repositoryId}/environments/{environmentName}/secrets/{secretName}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint.\n */\nexport const useActionsGetEnvironmentSecret = <TData = Schemas.ActionsSecret>(\n  variables: ActionsGetEnvironmentSecretVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ActionsSecret,\n      ActionsGetEnvironmentSecretError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ActionsSecret,\n    ActionsGetEnvironmentSecretError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}',\n      operationId: 'actionsGetEnvironmentSecret',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActionsGetEnvironmentSecret(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActionsCreateOrUpdateEnvironmentSecretPathParams = {\n  repositoryId: number;\n  /**\n   * The name of the environment\n   */\n  environmentName: string;\n  /**\n   * secret_name parameter\n   */\n  secretName: string;\n};\n\nexport type ActionsCreateOrUpdateEnvironmentSecretError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActionsCreateOrUpdateEnvironmentSecretRequestBody = {\n  /**\n   * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/reference/actions#get-an-environment-public-key) endpoint.\n   *\n   * @pattern ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$\n   */\n  encrypted_value?: string;\n  /**\n   * ID of the key you used to encrypt the secret.\n   */\n  key_id?: string;\n};\n\nexport type ActionsCreateOrUpdateEnvironmentSecretVariables = {\n  body?: ActionsCreateOrUpdateEnvironmentSecretRequestBody;\n  pathParams: ActionsCreateOrUpdateEnvironmentSecretPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates or updates an environment secret with an encrypted value. Encrypt your secret using\n * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\n * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use\n * this endpoint.\n *\n * #### Example encrypting a secret using Node.js\n *\n * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n *\n * ```\n * const sodium = require('tweetsodium');\n *\n * const key = \"base64-encoded-public-key\";\n * const value = \"plain-text-secret\";\n *\n * // Convert the message and key to Uint8Array's (Buffer implements that interface)\n * const messageBytes = Buffer.from(value);\n * const keyBytes = Buffer.from(key, 'base64');\n *\n * // Encrypt using LibSodium.\n * const encryptedBytes = sodium.seal(messageBytes, keyBytes);\n *\n * // Base64 the encrypted secret\n * const encrypted = Buffer.from(encryptedBytes).toString('base64');\n *\n * console.log(encrypted);\n * ```\n *\n *\n * #### Example encrypting a secret using Python\n *\n * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n *\n * ```\n * from base64 import b64encode\n * from nacl import encoding, public\n *\n * def encrypt(public_key: str, secret_value: str) -> str:\n *   \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n *   public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n *   sealed_box = public.SealedBox(public_key)\n *   encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n *   return b64encode(encrypted).decode(\"utf-8\")\n * ```\n *\n * #### Example encrypting a secret using C#\n *\n * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n *\n * ```\n * var secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\n * var publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n *\n * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n *\n * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n * ```\n *\n * #### Example encrypting a secret using Ruby\n *\n * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n *\n * ```ruby\n * require \"rbnacl\"\n * require \"base64\"\n *\n * key = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\n * public_key = RbNaCl::PublicKey.new(key)\n *\n * box = RbNaCl::Boxes::Sealed.from_public_key(public_key)\n * encrypted_secret = box.encrypt(\"my_secret\")\n *\n * # Print the base64 encoded secret\n * puts Base64.strict_encode64(encrypted_secret)\n * ```\n */\nexport const fetchActionsCreateOrUpdateEnvironmentSecret = (\n  variables: ActionsCreateOrUpdateEnvironmentSecretVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActionsCreateOrUpdateEnvironmentSecretError,\n    ActionsCreateOrUpdateEnvironmentSecretRequestBody,\n    {},\n    {},\n    ActionsCreateOrUpdateEnvironmentSecretPathParams\n  >({\n    url: '/repositories/{repositoryId}/environments/{environmentName}/secrets/{secretName}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Creates or updates an environment secret with an encrypted value. Encrypt your secret using\n * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access\n * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use\n * this endpoint.\n *\n * #### Example encrypting a secret using Node.js\n *\n * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.\n *\n * ```\n * const sodium = require('tweetsodium');\n *\n * const key = \"base64-encoded-public-key\";\n * const value = \"plain-text-secret\";\n *\n * // Convert the message and key to Uint8Array's (Buffer implements that interface)\n * const messageBytes = Buffer.from(value);\n * const keyBytes = Buffer.from(key, 'base64');\n *\n * // Encrypt using LibSodium.\n * const encryptedBytes = sodium.seal(messageBytes, keyBytes);\n *\n * // Base64 the encrypted secret\n * const encrypted = Buffer.from(encryptedBytes).toString('base64');\n *\n * console.log(encrypted);\n * ```\n *\n *\n * #### Example encrypting a secret using Python\n *\n * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3.\n *\n * ```\n * from base64 import b64encode\n * from nacl import encoding, public\n *\n * def encrypt(public_key: str, secret_value: str) -> str:\n *   \"\"\"Encrypt a Unicode string using the public key.\"\"\"\n *   public_key = public.PublicKey(public_key.encode(\"utf-8\"), encoding.Base64Encoder())\n *   sealed_box = public.SealedBox(public_key)\n *   encrypted = sealed_box.encrypt(secret_value.encode(\"utf-8\"))\n *   return b64encode(encrypted).decode(\"utf-8\")\n * ```\n *\n * #### Example encrypting a secret using C#\n *\n * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.\n *\n * ```\n * var secretValue = System.Text.Encoding.UTF8.GetBytes(\"mySecret\");\n * var publicKey = Convert.FromBase64String(\"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=\");\n *\n * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);\n *\n * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));\n * ```\n *\n * #### Example encrypting a secret using Ruby\n *\n * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.\n *\n * ```ruby\n * require \"rbnacl\"\n * require \"base64\"\n *\n * key = Base64.decode64(\"+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=\")\n * public_key = RbNaCl::PublicKey.new(key)\n *\n * box = RbNaCl::Boxes::Sealed.from_public_key(public_key)\n * encrypted_secret = box.encrypt(\"my_secret\")\n *\n * # Print the base64 encoded secret\n * puts Base64.strict_encode64(encrypted_secret)\n * ```\n */\nexport const useActionsCreateOrUpdateEnvironmentSecret = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActionsCreateOrUpdateEnvironmentSecretError,\n      ActionsCreateOrUpdateEnvironmentSecretVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActionsCreateOrUpdateEnvironmentSecretError,\n    ActionsCreateOrUpdateEnvironmentSecretVariables\n  >(\n    (variables: ActionsCreateOrUpdateEnvironmentSecretVariables) =>\n      fetchActionsCreateOrUpdateEnvironmentSecret({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminListProvisionedGroupsEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminListProvisionedGroupsEnterpriseQueryParams = {\n  /**\n   * Used for pagination: the index of the first result to return.\n   */\n  startIndex?: number;\n  /**\n   * Used for pagination: the number of results to return.\n   */\n  count?: number;\n  /**\n   * filter results\n   */\n  filter?: string;\n  /**\n   * attributes to exclude\n   */\n  excludedAttributes?: string;\n};\n\nexport type EnterpriseAdminListProvisionedGroupsEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminListProvisionedGroupsEnterpriseVariables = {\n  pathParams: EnterpriseAdminListProvisionedGroupsEnterprisePathParams;\n  queryParams?: EnterpriseAdminListProvisionedGroupsEnterpriseQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n */\nexport const fetchEnterpriseAdminListProvisionedGroupsEnterprise = (\n  variables: EnterpriseAdminListProvisionedGroupsEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ScimGroupListEnterprise,\n    EnterpriseAdminListProvisionedGroupsEnterpriseError,\n    undefined,\n    {},\n    EnterpriseAdminListProvisionedGroupsEnterpriseQueryParams,\n    EnterpriseAdminListProvisionedGroupsEnterprisePathParams\n  >({\n    url: '/scim/v2/enterprises/{enterprise}/Groups',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n */\nexport const useEnterpriseAdminListProvisionedGroupsEnterprise = <\n  TData = Schemas.ScimGroupListEnterprise,\n>(\n  variables: EnterpriseAdminListProvisionedGroupsEnterpriseVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ScimGroupListEnterprise,\n      EnterpriseAdminListProvisionedGroupsEnterpriseError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ScimGroupListEnterprise,\n    EnterpriseAdminListProvisionedGroupsEnterpriseError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/scim/v2/enterprises/{enterprise}/Groups',\n      operationId: 'enterpriseAdminListProvisionedGroupsEnterprise',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchEnterpriseAdminListProvisionedGroupsEnterprise(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type EnterpriseAdminProvisionAndInviteEnterpriseGroupPathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminProvisionAndInviteEnterpriseGroupError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminProvisionAndInviteEnterpriseGroupRequestBody = {\n  /**\n   * The name of the SCIM group. This must match the GitHub organization that the group maps to.\n   */\n  displayName: string;\n  members?: {\n    /**\n     * The SCIM user ID for a user.\n     */\n    value: string;\n  }[];\n  /**\n   * The SCIM schema URIs.\n   */\n  schemas: string[];\n};\n\nexport type EnterpriseAdminProvisionAndInviteEnterpriseGroupVariables = {\n  body: EnterpriseAdminProvisionAndInviteEnterpriseGroupRequestBody;\n  pathParams: EnterpriseAdminProvisionAndInviteEnterpriseGroupPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to.\n */\nexport const fetchEnterpriseAdminProvisionAndInviteEnterpriseGroup = (\n  variables: EnterpriseAdminProvisionAndInviteEnterpriseGroupVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ScimEnterpriseGroup,\n    EnterpriseAdminProvisionAndInviteEnterpriseGroupError,\n    EnterpriseAdminProvisionAndInviteEnterpriseGroupRequestBody,\n    {},\n    {},\n    EnterpriseAdminProvisionAndInviteEnterpriseGroupPathParams\n  >({\n    url: '/scim/v2/enterprises/{enterprise}/Groups',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to.\n */\nexport const useEnterpriseAdminProvisionAndInviteEnterpriseGroup = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ScimEnterpriseGroup,\n      EnterpriseAdminProvisionAndInviteEnterpriseGroupError,\n      EnterpriseAdminProvisionAndInviteEnterpriseGroupVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ScimEnterpriseGroup,\n    EnterpriseAdminProvisionAndInviteEnterpriseGroupError,\n    EnterpriseAdminProvisionAndInviteEnterpriseGroupVariables\n  >(\n    (variables: EnterpriseAdminProvisionAndInviteEnterpriseGroupVariables) =>\n      fetchEnterpriseAdminProvisionAndInviteEnterpriseGroup({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminDeleteScimGroupFromEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n  /**\n   * Identifier generated by the GitHub SCIM endpoint.\n   */\n  scimGroupId: string;\n};\n\nexport type EnterpriseAdminDeleteScimGroupFromEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminDeleteScimGroupFromEnterpriseVariables = {\n  pathParams: EnterpriseAdminDeleteScimGroupFromEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n */\nexport const fetchEnterpriseAdminDeleteScimGroupFromEnterprise = (\n  variables: EnterpriseAdminDeleteScimGroupFromEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    EnterpriseAdminDeleteScimGroupFromEnterpriseError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminDeleteScimGroupFromEnterprisePathParams\n  >({\n    url: '/scim/v2/enterprises/{enterprise}/Groups/{scimGroupId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n */\nexport const useEnterpriseAdminDeleteScimGroupFromEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      EnterpriseAdminDeleteScimGroupFromEnterpriseError,\n      EnterpriseAdminDeleteScimGroupFromEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    EnterpriseAdminDeleteScimGroupFromEnterpriseError,\n    EnterpriseAdminDeleteScimGroupFromEnterpriseVariables\n  >(\n    (variables: EnterpriseAdminDeleteScimGroupFromEnterpriseVariables) =>\n      fetchEnterpriseAdminDeleteScimGroupFromEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminGetProvisioningInformationForEnterpriseGroupPathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Identifier generated by the GitHub SCIM endpoint.\n     */\n    scimGroupId: string;\n  };\n\nexport type EnterpriseAdminGetProvisioningInformationForEnterpriseGroupQueryParams =\n  {\n    /**\n     * Attributes to exclude.\n     */\n    excludedAttributes?: string;\n  };\n\nexport type EnterpriseAdminGetProvisioningInformationForEnterpriseGroupError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminGetProvisioningInformationForEnterpriseGroupVariables =\n  {\n    pathParams: EnterpriseAdminGetProvisioningInformationForEnterpriseGroupPathParams;\n    queryParams?: EnterpriseAdminGetProvisioningInformationForEnterpriseGroupQueryParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n */\nexport const fetchEnterpriseAdminGetProvisioningInformationForEnterpriseGroup =\n  (\n    variables: EnterpriseAdminGetProvisioningInformationForEnterpriseGroupVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      Schemas.ScimEnterpriseGroup,\n      EnterpriseAdminGetProvisioningInformationForEnterpriseGroupError,\n      undefined,\n      {},\n      EnterpriseAdminGetProvisioningInformationForEnterpriseGroupQueryParams,\n      EnterpriseAdminGetProvisioningInformationForEnterpriseGroupPathParams\n    >({\n      url: '/scim/v2/enterprises/{enterprise}/Groups/{scimGroupId}',\n      method: 'get',\n      ...variables,\n      signal,\n    });\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n */\nexport const useEnterpriseAdminGetProvisioningInformationForEnterpriseGroup = <\n  TData = Schemas.ScimEnterpriseGroup,\n>(\n  variables: EnterpriseAdminGetProvisioningInformationForEnterpriseGroupVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ScimEnterpriseGroup,\n      EnterpriseAdminGetProvisioningInformationForEnterpriseGroupError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ScimEnterpriseGroup,\n    EnterpriseAdminGetProvisioningInformationForEnterpriseGroupError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}',\n      operationId:\n        'enterpriseAdminGetProvisioningInformationForEnterpriseGroup',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchEnterpriseAdminGetProvisioningInformationForEnterpriseGroup(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type EnterpriseAdminUpdateAttributeForEnterpriseGroupPathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n  /**\n   * Identifier generated by the GitHub SCIM endpoint.\n   */\n  scimGroupId: string;\n};\n\nexport type EnterpriseAdminUpdateAttributeForEnterpriseGroupError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminUpdateAttributeForEnterpriseGroupRequestBody = {\n  /**\n   * Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n   *\n   * @minItems 1\n   */\n  Operations: {\n    op: 'add' | 'Add' | 'remove' | 'Remove' | 'replace' | 'Replace';\n    path?: string;\n    value?: string | Record<string, any> | any[];\n  }[];\n  /**\n   * The SCIM schema URIs.\n   */\n  schemas: string[];\n};\n\nexport type EnterpriseAdminUpdateAttributeForEnterpriseGroupVariables = {\n  body: EnterpriseAdminUpdateAttributeForEnterpriseGroupRequestBody;\n  pathParams: EnterpriseAdminUpdateAttributeForEnterpriseGroupPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n */\nexport const fetchEnterpriseAdminUpdateAttributeForEnterpriseGroup = (\n  variables: EnterpriseAdminUpdateAttributeForEnterpriseGroupVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ScimEnterpriseGroup,\n    EnterpriseAdminUpdateAttributeForEnterpriseGroupError,\n    EnterpriseAdminUpdateAttributeForEnterpriseGroupRequestBody,\n    {},\n    {},\n    EnterpriseAdminUpdateAttributeForEnterpriseGroupPathParams\n  >({\n    url: '/scim/v2/enterprises/{enterprise}/Groups/{scimGroupId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n */\nexport const useEnterpriseAdminUpdateAttributeForEnterpriseGroup = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ScimEnterpriseGroup,\n      EnterpriseAdminUpdateAttributeForEnterpriseGroupError,\n      EnterpriseAdminUpdateAttributeForEnterpriseGroupVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ScimEnterpriseGroup,\n    EnterpriseAdminUpdateAttributeForEnterpriseGroupError,\n    EnterpriseAdminUpdateAttributeForEnterpriseGroupVariables\n  >(\n    (variables: EnterpriseAdminUpdateAttributeForEnterpriseGroupVariables) =>\n      fetchEnterpriseAdminUpdateAttributeForEnterpriseGroup({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminSetInformationForProvisionedEnterpriseGroupPathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * Identifier generated by the GitHub SCIM endpoint.\n     */\n    scimGroupId: string;\n  };\n\nexport type EnterpriseAdminSetInformationForProvisionedEnterpriseGroupError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminSetInformationForProvisionedEnterpriseGroupRequestBody =\n  {\n    /**\n     * The name of the SCIM group. This must match the GitHub organization that the group maps to.\n     */\n    displayName: string;\n    members?: {\n      /**\n       * The SCIM user ID for a user.\n       */\n      value: string;\n    }[];\n    /**\n     * The SCIM schema URIs.\n     */\n    schemas: string[];\n  };\n\nexport type EnterpriseAdminSetInformationForProvisionedEnterpriseGroupVariables =\n  {\n    body: EnterpriseAdminSetInformationForProvisionedEnterpriseGroupRequestBody;\n    pathParams: EnterpriseAdminSetInformationForProvisionedEnterpriseGroupPathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead.\n */\nexport const fetchEnterpriseAdminSetInformationForProvisionedEnterpriseGroup = (\n  variables: EnterpriseAdminSetInformationForProvisionedEnterpriseGroupVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ScimEnterpriseGroup,\n    EnterpriseAdminSetInformationForProvisionedEnterpriseGroupError,\n    EnterpriseAdminSetInformationForProvisionedEnterpriseGroupRequestBody,\n    {},\n    {},\n    EnterpriseAdminSetInformationForProvisionedEnterpriseGroupPathParams\n  >({\n    url: '/scim/v2/enterprises/{enterprise}/Groups/{scimGroupId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead.\n */\nexport const useEnterpriseAdminSetInformationForProvisionedEnterpriseGroup = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ScimEnterpriseGroup,\n      EnterpriseAdminSetInformationForProvisionedEnterpriseGroupError,\n      EnterpriseAdminSetInformationForProvisionedEnterpriseGroupVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ScimEnterpriseGroup,\n    EnterpriseAdminSetInformationForProvisionedEnterpriseGroupError,\n    EnterpriseAdminSetInformationForProvisionedEnterpriseGroupVariables\n  >(\n    (\n      variables: EnterpriseAdminSetInformationForProvisionedEnterpriseGroupVariables,\n    ) =>\n      fetchEnterpriseAdminSetInformationForProvisionedEnterpriseGroup({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminListProvisionedIdentitiesEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminListProvisionedIdentitiesEnterpriseQueryParams = {\n  /**\n   * Used for pagination: the index of the first result to return.\n   */\n  startIndex?: number;\n  /**\n   * Used for pagination: the number of results to return.\n   */\n  count?: number;\n  /**\n   * filter results\n   */\n  filter?: string;\n};\n\nexport type EnterpriseAdminListProvisionedIdentitiesEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminListProvisionedIdentitiesEnterpriseVariables = {\n  pathParams: EnterpriseAdminListProvisionedIdentitiesEnterprisePathParams;\n  queryParams?: EnterpriseAdminListProvisionedIdentitiesEnterpriseQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Retrieves a paginated list of all provisioned enterprise members, including pending invitations.\n *\n * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member:\n *   - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future.\n *   - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted).\n *   - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO.\n *\n * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO:\n *\n * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise.\n *\n * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account.\n *\n * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account:\n *    - If the user signs in, their GitHub account is linked to this entry.\n *    - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place.\n */\nexport const fetchEnterpriseAdminListProvisionedIdentitiesEnterprise = (\n  variables: EnterpriseAdminListProvisionedIdentitiesEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ScimUserListEnterprise,\n    EnterpriseAdminListProvisionedIdentitiesEnterpriseError,\n    undefined,\n    {},\n    EnterpriseAdminListProvisionedIdentitiesEnterpriseQueryParams,\n    EnterpriseAdminListProvisionedIdentitiesEnterprisePathParams\n  >({\n    url: '/scim/v2/enterprises/{enterprise}/Users',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Retrieves a paginated list of all provisioned enterprise members, including pending invitations.\n *\n * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member:\n *   - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future.\n *   - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted).\n *   - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO.\n *\n * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO:\n *\n * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise.\n *\n * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account.\n *\n * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account:\n *    - If the user signs in, their GitHub account is linked to this entry.\n *    - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place.\n */\nexport const useEnterpriseAdminListProvisionedIdentitiesEnterprise = <\n  TData = Schemas.ScimUserListEnterprise,\n>(\n  variables: EnterpriseAdminListProvisionedIdentitiesEnterpriseVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ScimUserListEnterprise,\n      EnterpriseAdminListProvisionedIdentitiesEnterpriseError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ScimUserListEnterprise,\n    EnterpriseAdminListProvisionedIdentitiesEnterpriseError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/scim/v2/enterprises/{enterprise}/Users',\n      operationId: 'enterpriseAdminListProvisionedIdentitiesEnterprise',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchEnterpriseAdminListProvisionedIdentitiesEnterprise(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type EnterpriseAdminProvisionAndInviteEnterpriseUserPathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n};\n\nexport type EnterpriseAdminProvisionAndInviteEnterpriseUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminProvisionAndInviteEnterpriseUserRequestBody = {\n  /**\n   * List of user emails.\n   */\n  emails: {\n    /**\n     * Whether this email address is the primary address.\n     */\n    primary: boolean;\n    /**\n     * The type of email address.\n     */\n    type: string;\n    /**\n     * The email address.\n     */\n    value: string;\n  }[];\n  /**\n   * List of SCIM group IDs the user is a member of.\n   */\n  groups?: {\n    value?: string;\n  }[];\n  name: {\n    /**\n     * The last name of the user.\n     */\n    familyName: string;\n    /**\n     * The first name of the user.\n     */\n    givenName: string;\n  };\n  /**\n   * The SCIM schema URIs.\n   */\n  schemas: string[];\n  /**\n   * The username for the user.\n   */\n  userName: string;\n};\n\nexport type EnterpriseAdminProvisionAndInviteEnterpriseUserVariables = {\n  body: EnterpriseAdminProvisionAndInviteEnterpriseUserRequestBody;\n  pathParams: EnterpriseAdminProvisionAndInviteEnterpriseUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Provision enterprise membership for a user, and send organization invitation emails to the email address.\n *\n * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent.\n */\nexport const fetchEnterpriseAdminProvisionAndInviteEnterpriseUser = (\n  variables: EnterpriseAdminProvisionAndInviteEnterpriseUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ScimEnterpriseUser,\n    EnterpriseAdminProvisionAndInviteEnterpriseUserError,\n    EnterpriseAdminProvisionAndInviteEnterpriseUserRequestBody,\n    {},\n    {},\n    EnterpriseAdminProvisionAndInviteEnterpriseUserPathParams\n  >({\n    url: '/scim/v2/enterprises/{enterprise}/Users',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Provision enterprise membership for a user, and send organization invitation emails to the email address.\n *\n * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent.\n */\nexport const useEnterpriseAdminProvisionAndInviteEnterpriseUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ScimEnterpriseUser,\n      EnterpriseAdminProvisionAndInviteEnterpriseUserError,\n      EnterpriseAdminProvisionAndInviteEnterpriseUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ScimEnterpriseUser,\n    EnterpriseAdminProvisionAndInviteEnterpriseUserError,\n    EnterpriseAdminProvisionAndInviteEnterpriseUserVariables\n  >(\n    (variables: EnterpriseAdminProvisionAndInviteEnterpriseUserVariables) =>\n      fetchEnterpriseAdminProvisionAndInviteEnterpriseUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminDeleteUserFromEnterprisePathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n  /**\n   * scim_user_id parameter\n   */\n  scimUserId: string;\n};\n\nexport type EnterpriseAdminDeleteUserFromEnterpriseError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminDeleteUserFromEnterpriseVariables = {\n  pathParams: EnterpriseAdminDeleteUserFromEnterprisePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n */\nexport const fetchEnterpriseAdminDeleteUserFromEnterprise = (\n  variables: EnterpriseAdminDeleteUserFromEnterpriseVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    EnterpriseAdminDeleteUserFromEnterpriseError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminDeleteUserFromEnterprisePathParams\n  >({\n    url: '/scim/v2/enterprises/{enterprise}/Users/{scimUserId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n */\nexport const useEnterpriseAdminDeleteUserFromEnterprise = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      EnterpriseAdminDeleteUserFromEnterpriseError,\n      EnterpriseAdminDeleteUserFromEnterpriseVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    EnterpriseAdminDeleteUserFromEnterpriseError,\n    EnterpriseAdminDeleteUserFromEnterpriseVariables\n  >(\n    (variables: EnterpriseAdminDeleteUserFromEnterpriseVariables) =>\n      fetchEnterpriseAdminDeleteUserFromEnterprise({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminGetProvisioningInformationForEnterpriseUserPathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * scim_user_id parameter\n     */\n    scimUserId: string;\n  };\n\nexport type EnterpriseAdminGetProvisioningInformationForEnterpriseUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminGetProvisioningInformationForEnterpriseUserVariables =\n  {\n    pathParams: EnterpriseAdminGetProvisioningInformationForEnterpriseUserPathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n */\nexport const fetchEnterpriseAdminGetProvisioningInformationForEnterpriseUser = (\n  variables: EnterpriseAdminGetProvisioningInformationForEnterpriseUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ScimEnterpriseUser,\n    EnterpriseAdminGetProvisioningInformationForEnterpriseUserError,\n    undefined,\n    {},\n    {},\n    EnterpriseAdminGetProvisioningInformationForEnterpriseUserPathParams\n  >({\n    url: '/scim/v2/enterprises/{enterprise}/Users/{scimUserId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n */\nexport const useEnterpriseAdminGetProvisioningInformationForEnterpriseUser = <\n  TData = Schemas.ScimEnterpriseUser,\n>(\n  variables: EnterpriseAdminGetProvisioningInformationForEnterpriseUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ScimEnterpriseUser,\n      EnterpriseAdminGetProvisioningInformationForEnterpriseUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ScimEnterpriseUser,\n    EnterpriseAdminGetProvisioningInformationForEnterpriseUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}',\n      operationId: 'enterpriseAdminGetProvisioningInformationForEnterpriseUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchEnterpriseAdminGetProvisioningInformationForEnterpriseUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type EnterpriseAdminUpdateAttributeForEnterpriseUserPathParams = {\n  /**\n   * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n   */\n  enterprise: string;\n  /**\n   * scim_user_id parameter\n   */\n  scimUserId: string;\n};\n\nexport type EnterpriseAdminUpdateAttributeForEnterpriseUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminUpdateAttributeForEnterpriseUserRequestBody = {\n  /**\n   * Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n   */\n  Operations: Record<string, any>[];\n  /**\n   * The SCIM schema URIs.\n   */\n  schemas: string[];\n};\n\nexport type EnterpriseAdminUpdateAttributeForEnterpriseUserVariables = {\n  body: EnterpriseAdminUpdateAttributeForEnterpriseUserRequestBody;\n  pathParams: EnterpriseAdminUpdateAttributeForEnterpriseUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n *\n * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `\"path\": \"emails[type eq \\\"work\\\"]\"` will not work.\n *\n * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`.\n *\n * ```\n * {\n *   \"Operations\":[{\n *     \"op\":\"replace\",\n *     \"value\":{\n *       \"active\":false\n *     }\n *   }]\n * }\n * ```\n */\nexport const fetchEnterpriseAdminUpdateAttributeForEnterpriseUser = (\n  variables: EnterpriseAdminUpdateAttributeForEnterpriseUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ScimEnterpriseUser,\n    EnterpriseAdminUpdateAttributeForEnterpriseUserError,\n    EnterpriseAdminUpdateAttributeForEnterpriseUserRequestBody,\n    {},\n    {},\n    EnterpriseAdminUpdateAttributeForEnterpriseUserPathParams\n  >({\n    url: '/scim/v2/enterprises/{enterprise}/Users/{scimUserId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n *\n * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `\"path\": \"emails[type eq \\\"work\\\"]\"` will not work.\n *\n * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`.\n *\n * ```\n * {\n *   \"Operations\":[{\n *     \"op\":\"replace\",\n *     \"value\":{\n *       \"active\":false\n *     }\n *   }]\n * }\n * ```\n */\nexport const useEnterpriseAdminUpdateAttributeForEnterpriseUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ScimEnterpriseUser,\n      EnterpriseAdminUpdateAttributeForEnterpriseUserError,\n      EnterpriseAdminUpdateAttributeForEnterpriseUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ScimEnterpriseUser,\n    EnterpriseAdminUpdateAttributeForEnterpriseUserError,\n    EnterpriseAdminUpdateAttributeForEnterpriseUserVariables\n  >(\n    (variables: EnterpriseAdminUpdateAttributeForEnterpriseUserVariables) =>\n      fetchEnterpriseAdminUpdateAttributeForEnterpriseUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type EnterpriseAdminSetInformationForProvisionedEnterpriseUserPathParams =\n  {\n    /**\n     * The slug version of the enterprise name. You can also substitute this value with the enterprise id.\n     */\n    enterprise: string;\n    /**\n     * scim_user_id parameter\n     */\n    scimUserId: string;\n  };\n\nexport type EnterpriseAdminSetInformationForProvisionedEnterpriseUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type EnterpriseAdminSetInformationForProvisionedEnterpriseUserRequestBody =\n  {\n    /**\n     * List of user emails.\n     */\n    emails: {\n      /**\n       * Whether this email address is the primary address.\n       */\n      primary: boolean;\n      /**\n       * The type of email address.\n       */\n      type: string;\n      /**\n       * The email address.\n       */\n      value: string;\n    }[];\n    /**\n     * List of SCIM group IDs the user is a member of.\n     */\n    groups?: {\n      value?: string;\n    }[];\n    name: {\n      /**\n       * The last name of the user.\n       */\n      familyName: string;\n      /**\n       * The first name of the user.\n       */\n      givenName: string;\n    };\n    /**\n     * The SCIM schema URIs.\n     */\n    schemas: string[];\n    /**\n     * The username for the user.\n     */\n    userName: string;\n  };\n\nexport type EnterpriseAdminSetInformationForProvisionedEnterpriseUserVariables =\n  {\n    body: EnterpriseAdminSetInformationForProvisionedEnterpriseUserRequestBody;\n    pathParams: EnterpriseAdminSetInformationForProvisionedEnterpriseUserPathParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead.\n *\n * You must at least provide the required values for the user: `userName`, `name`, and `emails`.\n *\n * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`.\n */\nexport const fetchEnterpriseAdminSetInformationForProvisionedEnterpriseUser = (\n  variables: EnterpriseAdminSetInformationForProvisionedEnterpriseUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ScimEnterpriseUser,\n    EnterpriseAdminSetInformationForProvisionedEnterpriseUserError,\n    EnterpriseAdminSetInformationForProvisionedEnterpriseUserRequestBody,\n    {},\n    {},\n    EnterpriseAdminSetInformationForProvisionedEnterpriseUserPathParams\n  >({\n    url: '/scim/v2/enterprises/{enterprise}/Users/{scimUserId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n *\n * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead.\n *\n * You must at least provide the required values for the user: `userName`, `name`, and `emails`.\n *\n * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`.\n */\nexport const useEnterpriseAdminSetInformationForProvisionedEnterpriseUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.ScimEnterpriseUser,\n      EnterpriseAdminSetInformationForProvisionedEnterpriseUserError,\n      EnterpriseAdminSetInformationForProvisionedEnterpriseUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.ScimEnterpriseUser,\n    EnterpriseAdminSetInformationForProvisionedEnterpriseUserError,\n    EnterpriseAdminSetInformationForProvisionedEnterpriseUserVariables\n  >(\n    (\n      variables: EnterpriseAdminSetInformationForProvisionedEnterpriseUserVariables,\n    ) =>\n      fetchEnterpriseAdminSetInformationForProvisionedEnterpriseUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ScimListProvisionedIdentitiesPathParams = {\n  org: string;\n};\n\nexport type ScimListProvisionedIdentitiesQueryParams = {\n  /**\n   * Used for pagination: the index of the first result to return.\n   */\n  startIndex?: number;\n  /**\n   * Used for pagination: the number of results to return.\n   */\n  count?: number;\n  /**\n   * Filters results using the equals query parameter operator (`eq`). You can filter results that are equal to `id`, `userName`, `emails`, and `external_id`. For example, to search for an identity with the `userName` Octocat, you would use this query:\n   *\n   * `?filter=userName%20eq%20\\\"Octocat\\\"`.\n   *\n   * To filter results for the identity with the email `octocat@github.com`, you would use this query:\n   *\n   * `?filter=emails%20eq%20\\\"octocat@github.com\\\"`.\n   */\n  filter?: string;\n};\n\nexport type ScimListProvisionedIdentitiesError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 400;\n      payload: Responses.ScimBadRequest;\n    }\n  | {\n      status: 403;\n      payload: Responses.ScimForbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.ScimNotFound;\n    }\n>;\n\nexport type ScimListProvisionedIdentitiesVariables = {\n  pathParams: ScimListProvisionedIdentitiesPathParams;\n  queryParams?: ScimListProvisionedIdentitiesQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned.\n *\n * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member:\n *   - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future.\n *   - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted).\n *   - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO.\n *\n * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO:\n *\n * 1. The user is granted access by the IdP and is not a member of the GitHub organization.\n *\n * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account.\n *\n * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account:\n *    - If the user signs in, their GitHub account is linked to this entry.\n *    - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place.\n */\nexport const fetchScimListProvisionedIdentities = (\n  variables: ScimListProvisionedIdentitiesVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ScimListProvisionedIdentitiesError,\n    undefined,\n    {},\n    ScimListProvisionedIdentitiesQueryParams,\n    ScimListProvisionedIdentitiesPathParams\n  >({\n    url: '/scim/v2/organizations/{org}/Users',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned.\n *\n * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member:\n *   - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future.\n *   - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted).\n *   - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO.\n *\n * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO:\n *\n * 1. The user is granted access by the IdP and is not a member of the GitHub organization.\n *\n * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account.\n *\n * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account:\n *    - If the user signs in, their GitHub account is linked to this entry.\n *    - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place.\n */\nexport const useScimListProvisionedIdentities = <TData = undefined>(\n  variables: ScimListProvisionedIdentitiesVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      ScimListProvisionedIdentitiesError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    ScimListProvisionedIdentitiesError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/scim/v2/organizations/{org}/Users',\n      operationId: 'scimListProvisionedIdentities',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchScimListProvisionedIdentities(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ScimProvisionAndInviteUserPathParams = {\n  org: string;\n};\n\nexport type ScimProvisionAndInviteUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 400;\n      payload: Responses.ScimBadRequest;\n    }\n  | {\n      status: 403;\n      payload: Responses.ScimForbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.ScimNotFound;\n    }\n  | {\n      status: 409;\n      payload: Responses.ScimConflict;\n    }\n  | {\n      status: 500;\n      payload: Responses.ScimInternalError;\n    }\n>;\n\nexport type ScimProvisionAndInviteUserRequestBody = {\n  active?: boolean;\n  /**\n   * The name of the user, suitable for display to end-users\n   *\n   * @example Jon Doe\n   */\n  displayName?: string;\n  /**\n   * user emails\n   *\n   * @example {\"primary\":true,\"value\":\"someone@example.com\"}\n   * @example {\"primary\":false,\"value\":\"another@example.com\"}\n   * @minItems 1\n   */\n  emails: {\n    primary?: boolean;\n    type?: string;\n    value: string;\n  }[];\n  externalId?: string;\n  groups?: string[];\n  /**\n   * @example {\"familyName\":\"User\",\"givenName\":\"Jane\"}\n   */\n  name: {\n    familyName: string;\n    formatted?: string;\n    givenName: string;\n  };\n  schemas?: string[];\n  /**\n   * Configured by the admin. Could be an email, login, or username\n   *\n   * @example someone@example.com\n   */\n  userName: string;\n};\n\nexport type ScimProvisionAndInviteUserVariables = {\n  body: ScimProvisionAndInviteUserRequestBody;\n  pathParams: ScimProvisionAndInviteUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Provision organization membership for a user, and send an activation email to the email address.\n */\nexport const fetchScimProvisionAndInviteUser = (\n  variables: ScimProvisionAndInviteUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ScimProvisionAndInviteUserError,\n    ScimProvisionAndInviteUserRequestBody,\n    {},\n    {},\n    ScimProvisionAndInviteUserPathParams\n  >({\n    url: '/scim/v2/organizations/{org}/Users',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Provision organization membership for a user, and send an activation email to the email address.\n */\nexport const useScimProvisionAndInviteUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ScimProvisionAndInviteUserError,\n      ScimProvisionAndInviteUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ScimProvisionAndInviteUserError,\n    ScimProvisionAndInviteUserVariables\n  >(\n    (variables: ScimProvisionAndInviteUserVariables) =>\n      fetchScimProvisionAndInviteUser({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ScimDeleteUserFromOrgPathParams = {\n  org: string;\n  /**\n   * scim_user_id parameter\n   */\n  scimUserId: string;\n};\n\nexport type ScimDeleteUserFromOrgError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.ScimForbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.ScimNotFound;\n    }\n>;\n\nexport type ScimDeleteUserFromOrgVariables = {\n  pathParams: ScimDeleteUserFromOrgPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchScimDeleteUserFromOrg = (\n  variables: ScimDeleteUserFromOrgVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ScimDeleteUserFromOrgError,\n    undefined,\n    {},\n    {},\n    ScimDeleteUserFromOrgPathParams\n  >({\n    url: '/scim/v2/organizations/{org}/Users/{scimUserId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useScimDeleteUserFromOrg = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ScimDeleteUserFromOrgError,\n      ScimDeleteUserFromOrgVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ScimDeleteUserFromOrgError,\n    ScimDeleteUserFromOrgVariables\n  >(\n    (variables: ScimDeleteUserFromOrgVariables) =>\n      fetchScimDeleteUserFromOrg({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ScimGetProvisioningInformationForUserPathParams = {\n  org: string;\n  /**\n   * scim_user_id parameter\n   */\n  scimUserId: string;\n};\n\nexport type ScimGetProvisioningInformationForUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.ScimForbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.ScimNotFound;\n    }\n>;\n\nexport type ScimGetProvisioningInformationForUserVariables = {\n  pathParams: ScimGetProvisioningInformationForUserPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchScimGetProvisioningInformationForUser = (\n  variables: ScimGetProvisioningInformationForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ScimGetProvisioningInformationForUserError,\n    undefined,\n    {},\n    {},\n    ScimGetProvisioningInformationForUserPathParams\n  >({\n    url: '/scim/v2/organizations/{org}/Users/{scimUserId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useScimGetProvisioningInformationForUser = <TData = undefined>(\n  variables: ScimGetProvisioningInformationForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      ScimGetProvisioningInformationForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    ScimGetProvisioningInformationForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/scim/v2/organizations/{org}/Users/{scim_user_id}',\n      operationId: 'scimGetProvisioningInformationForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchScimGetProvisioningInformationForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ScimUpdateAttributeForUserPathParams = {\n  org: string;\n  /**\n   * scim_user_id parameter\n   */\n  scimUserId: string;\n};\n\nexport type ScimUpdateAttributeForUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 400;\n      payload: Responses.ScimBadRequest;\n    }\n  | {\n      status: 403;\n      payload: Responses.ScimForbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.ScimNotFound;\n    }\n  | {\n      status: 429;\n      payload: Schemas.BasicError;\n    }\n>;\n\nexport type ScimUpdateAttributeForUserRequestBody = {\n  /**\n   * Set of operations to be performed\n   *\n   * @example {\"op\":\"replace\",\"value\":{\"active\":false}}\n   * @minItems 1\n   */\n  Operations: {\n    op: 'add' | 'remove' | 'replace';\n    path?: string;\n    value?:\n      | {\n          active?: boolean | null;\n          externalId?: string | null;\n          familyName?: string | null;\n          givenName?: string | null;\n          userName?: string | null;\n        }\n      | {\n          primary?: boolean;\n          value?: string;\n        }[]\n      | string;\n  }[];\n  schemas?: string[];\n};\n\nexport type ScimUpdateAttributeForUserVariables = {\n  body: ScimUpdateAttributeForUserRequestBody;\n  pathParams: ScimUpdateAttributeForUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n *\n * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `\"path\": \"emails[type eq \\\"work\\\"]\"` will not work.\n *\n * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`.\n *\n * ```\n * {\n *   \"Operations\":[{\n *     \"op\":\"replace\",\n *     \"value\":{\n *       \"active\":false\n *     }\n *   }]\n * }\n * ```\n */\nexport const fetchScimUpdateAttributeForUser = (\n  variables: ScimUpdateAttributeForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ScimUpdateAttributeForUserError,\n    ScimUpdateAttributeForUserRequestBody,\n    {},\n    {},\n    ScimUpdateAttributeForUserPathParams\n  >({\n    url: '/scim/v2/organizations/{org}/Users/{scimUserId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n *\n * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `\"path\": \"emails[type eq \\\"work\\\"]\"` will not work.\n *\n * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`.\n *\n * ```\n * {\n *   \"Operations\":[{\n *     \"op\":\"replace\",\n *     \"value\":{\n *       \"active\":false\n *     }\n *   }]\n * }\n * ```\n */\nexport const useScimUpdateAttributeForUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ScimUpdateAttributeForUserError,\n      ScimUpdateAttributeForUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ScimUpdateAttributeForUserError,\n    ScimUpdateAttributeForUserVariables\n  >(\n    (variables: ScimUpdateAttributeForUserVariables) =>\n      fetchScimUpdateAttributeForUser({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ScimSetInformationForProvisionedUserPathParams = {\n  org: string;\n  /**\n   * scim_user_id parameter\n   */\n  scimUserId: string;\n};\n\nexport type ScimSetInformationForProvisionedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.ScimForbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.ScimNotFound;\n    }\n>;\n\nexport type ScimSetInformationForProvisionedUserRequestBody = {\n  active?: boolean;\n  /**\n   * The name of the user, suitable for display to end-users\n   *\n   * @example Jon Doe\n   */\n  displayName?: string;\n  /**\n   * user emails\n   *\n   * @example {\"primary\":true,\"value\":\"someone@example.com\"}\n   * @example {\"primary\":false,\"value\":\"another@example.com\"}\n   * @minItems 1\n   */\n  emails: {\n    primary?: boolean;\n    type?: string;\n    value: string;\n  }[];\n  externalId?: string;\n  groups?: string[];\n  /**\n   * @example {\"familyName\":\"User\",\"givenName\":\"Jane\"}\n   */\n  name: {\n    familyName: string;\n    formatted?: string;\n    givenName: string;\n  };\n  schemas?: string[];\n  /**\n   * Configured by the admin. Could be an email, login, or username\n   *\n   * @example someone@example.com\n   */\n  userName: string;\n};\n\nexport type ScimSetInformationForProvisionedUserVariables = {\n  body: ScimSetInformationForProvisionedUserRequestBody;\n  pathParams: ScimSetInformationForProvisionedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead.\n *\n * You must at least provide the required values for the user: `userName`, `name`, and `emails`.\n *\n * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`.\n */\nexport const fetchScimSetInformationForProvisionedUser = (\n  variables: ScimSetInformationForProvisionedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ScimSetInformationForProvisionedUserError,\n    ScimSetInformationForProvisionedUserRequestBody,\n    {},\n    {},\n    ScimSetInformationForProvisionedUserPathParams\n  >({\n    url: '/scim/v2/organizations/{org}/Users/{scimUserId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead.\n *\n * You must at least provide the required values for the user: `userName`, `name`, and `emails`.\n *\n * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`.\n */\nexport const useScimSetInformationForProvisionedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ScimSetInformationForProvisionedUserError,\n      ScimSetInformationForProvisionedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ScimSetInformationForProvisionedUserError,\n    ScimSetInformationForProvisionedUserVariables\n  >(\n    (variables: ScimSetInformationForProvisionedUserVariables) =>\n      fetchScimSetInformationForProvisionedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type SearchCodeQueryParams = {\n  /**\n   * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching code](https://help.github.com/articles/searching-code/)\" for a detailed list of qualifiers.\n   */\n  q: string;\n  /**\n   * Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)\n   */\n  sort?: 'indexed';\n  /**\n   * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.\n   *\n   * @default desc\n   */\n  order?: 'desc' | 'asc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type SearchCodeError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type SearchCodeResponse = {\n  incomplete_results: boolean;\n  items: Schemas.CodeSearchResultItem[];\n  total_count: number;\n};\n\nexport type SearchCodeVariables = {\n  queryParams: SearchCodeQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n *\n * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this:\n *\n * `q=addClass+in:file+language:js+repo:jquery/jquery`\n *\n * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository.\n *\n * #### Considerations for code search\n *\n * Due to the complexity of searching code, there are a few restrictions on how searches are performed:\n *\n * *   Only the _default branch_ is considered. In most cases, this will be the `master` branch.\n * *   Only files smaller than 384 KB are searchable.\n * *   You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing\n * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is.\n */\nexport const fetchSearchCode = (\n  variables: SearchCodeVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    SearchCodeResponse,\n    SearchCodeError,\n    undefined,\n    {},\n    SearchCodeQueryParams,\n    {}\n  >({ url: '/search/code', method: 'get', ...variables, signal });\n\n/**\n * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n *\n * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this:\n *\n * `q=addClass+in:file+language:js+repo:jquery/jquery`\n *\n * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository.\n *\n * #### Considerations for code search\n *\n * Due to the complexity of searching code, there are a few restrictions on how searches are performed:\n *\n * *   Only the _default branch_ is considered. In most cases, this will be the `master` branch.\n * *   Only files smaller than 384 KB are searchable.\n * *   You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing\n * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is.\n */\nexport const useSearchCode = <TData = SearchCodeResponse>(\n  variables: SearchCodeVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<SearchCodeResponse, SearchCodeError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<SearchCodeResponse, SearchCodeError, TData>(\n    queryKeyFn({ path: '/search/code', operationId: 'searchCode', variables }),\n    ({ signal }) =>\n      fetchSearchCode({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type SearchCommitsQueryParams = {\n  /**\n   * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching commits](https://help.github.com/articles/searching-commits/)\" for a detailed list of qualifiers.\n   */\n  q: string;\n  /**\n   * Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)\n   */\n  sort?: 'author-date' | 'committer-date';\n  /**\n   * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.\n   *\n   * @default desc\n   */\n  order?: 'desc' | 'asc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type SearchCommitsError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type SearchCommitsResponse = {\n  incomplete_results: boolean;\n  items: Schemas.CommitSearchResultItem[];\n  total_count: number;\n};\n\nexport type SearchCommitsVariables = {\n  queryParams: SearchCommitsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n *\n * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match\n * metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this:\n *\n * `q=repo:octocat/Spoon-Knife+css`\n */\nexport const fetchSearchCommits = (\n  variables: SearchCommitsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    SearchCommitsResponse,\n    SearchCommitsError,\n    undefined,\n    {},\n    SearchCommitsQueryParams,\n    {}\n  >({ url: '/search/commits', method: 'get', ...variables, signal });\n\n/**\n * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n *\n * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match\n * metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this:\n *\n * `q=repo:octocat/Spoon-Knife+css`\n */\nexport const useSearchCommits = <TData = SearchCommitsResponse>(\n  variables: SearchCommitsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      SearchCommitsResponse,\n      SearchCommitsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<SearchCommitsResponse, SearchCommitsError, TData>(\n    queryKeyFn({\n      path: '/search/commits',\n      operationId: 'searchCommits',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchSearchCommits({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type SearchIssuesAndPullRequestsQueryParams = {\n  /**\n   * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching issues and pull requests](https://help.github.com/articles/searching-issues-and-pull-requests/)\" for a detailed list of qualifiers.\n   */\n  q: string;\n  /**\n   * Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)\n   */\n  sort?:\n    | 'comments'\n    | 'reactions'\n    | 'reactions-+1'\n    | 'reactions--1'\n    | 'reactions-smile'\n    | 'reactions-thinking_face'\n    | 'reactions-heart'\n    | 'reactions-tada'\n    | 'interactions'\n    | 'created'\n    | 'updated';\n  /**\n   * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.\n   *\n   * @default desc\n   */\n  order?: 'desc' | 'asc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type SearchIssuesAndPullRequestsError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type SearchIssuesAndPullRequestsResponse = {\n  incomplete_results: boolean;\n  items: Schemas.IssueSearchResultItem[];\n  total_count: number;\n};\n\nexport type SearchIssuesAndPullRequestsVariables = {\n  queryParams: SearchIssuesAndPullRequestsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n *\n * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted\n * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this.\n *\n * `q=windows+label:bug+language:python+state:open&sort=created&order=asc`\n *\n * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results.\n *\n * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see \"[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests).\"\n */\nexport const fetchSearchIssuesAndPullRequests = (\n  variables: SearchIssuesAndPullRequestsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    SearchIssuesAndPullRequestsResponse,\n    SearchIssuesAndPullRequestsError,\n    undefined,\n    {},\n    SearchIssuesAndPullRequestsQueryParams,\n    {}\n  >({ url: '/search/issues', method: 'get', ...variables, signal });\n\n/**\n * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n *\n * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted\n * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this.\n *\n * `q=windows+label:bug+language:python+state:open&sort=created&order=asc`\n *\n * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results.\n *\n * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see \"[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests).\"\n */\nexport const useSearchIssuesAndPullRequests = <\n  TData = SearchIssuesAndPullRequestsResponse,\n>(\n  variables: SearchIssuesAndPullRequestsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      SearchIssuesAndPullRequestsResponse,\n      SearchIssuesAndPullRequestsError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    SearchIssuesAndPullRequestsResponse,\n    SearchIssuesAndPullRequestsError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/search/issues',\n      operationId: 'searchIssuesAndPullRequests',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchSearchIssuesAndPullRequests(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type SearchLabelsQueryParams = {\n  /**\n   * The id of the repository.\n   */\n  repository_id: number;\n  /**\n   * The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query).\n   */\n  q: string;\n  /**\n   * Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)\n   */\n  sort?: 'created' | 'updated';\n  /**\n   * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.\n   *\n   * @default desc\n   */\n  order?: 'desc' | 'asc';\n};\n\nexport type SearchLabelsError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type SearchLabelsResponse = {\n  incomplete_results: boolean;\n  items: Schemas.LabelSearchResultItem[];\n  total_count: number;\n};\n\nexport type SearchLabelsVariables = {\n  queryParams: SearchLabelsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n *\n * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this:\n *\n * `q=bug+defect+enhancement&repository_id=64778136`\n *\n * The labels that best match the query appear first in the search results.\n */\nexport const fetchSearchLabels = (\n  variables: SearchLabelsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    SearchLabelsResponse,\n    SearchLabelsError,\n    undefined,\n    {},\n    SearchLabelsQueryParams,\n    {}\n  >({ url: '/search/labels', method: 'get', ...variables, signal });\n\n/**\n * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n *\n * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this:\n *\n * `q=bug+defect+enhancement&repository_id=64778136`\n *\n * The labels that best match the query appear first in the search results.\n */\nexport const useSearchLabels = <TData = SearchLabelsResponse>(\n  variables: SearchLabelsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<SearchLabelsResponse, SearchLabelsError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<SearchLabelsResponse, SearchLabelsError, TData>(\n    queryKeyFn({\n      path: '/search/labels',\n      operationId: 'searchLabels',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchSearchLabels({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type SearchReposQueryParams = {\n  /**\n   * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching for repositories](https://help.github.com/articles/searching-for-repositories/)\" for a detailed list of qualifiers.\n   */\n  q: string;\n  /**\n   * Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)\n   */\n  sort?: 'stars' | 'forks' | 'help-wanted-issues' | 'updated';\n  /**\n   * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.\n   *\n   * @default desc\n   */\n  order?: 'desc' | 'asc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type SearchReposError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type SearchReposResponse = {\n  incomplete_results: boolean;\n  items: Schemas.RepoSearchResultItem[];\n  total_count: number;\n};\n\nexport type SearchReposVariables = {\n  queryParams: SearchReposQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n *\n * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this:\n *\n * `q=tetris+language:assembly&sort=stars&order=desc`\n *\n * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results.\n *\n * When you include the `mercy` preview header, you can also search for multiple topics by adding more `topic:` instances. For example, your query might look like this:\n *\n * `q=topic:ruby+topic:rails`\n */\nexport const fetchSearchRepos = (\n  variables: SearchReposVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    SearchReposResponse,\n    SearchReposError,\n    undefined,\n    {},\n    SearchReposQueryParams,\n    {}\n  >({ url: '/search/repositories', method: 'get', ...variables, signal });\n\n/**\n * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n *\n * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this:\n *\n * `q=tetris+language:assembly&sort=stars&order=desc`\n *\n * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results.\n *\n * When you include the `mercy` preview header, you can also search for multiple topics by adding more `topic:` instances. For example, your query might look like this:\n *\n * `q=topic:ruby+topic:rails`\n */\nexport const useSearchRepos = <TData = SearchReposResponse>(\n  variables: SearchReposVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<SearchReposResponse, SearchReposError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<SearchReposResponse, SearchReposError, TData>(\n    queryKeyFn({\n      path: '/search/repositories',\n      operationId: 'searchRepos',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchSearchRepos({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type SearchTopicsQueryParams = {\n  /**\n   * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query).\n   */\n  q: string;\n};\n\nexport type SearchTopicsError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type SearchTopicsResponse = {\n  incomplete_results: boolean;\n  items: Schemas.TopicSearchResultItem[];\n  total_count: number;\n};\n\nexport type SearchTopicsVariables = {\n  queryParams: SearchTopicsQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See \"[Searching topics](https://help.github.com/articles/searching-topics/)\" for a detailed list of qualifiers.\n *\n * When searching for topics, you can get text match metadata for the topic's **short\\_description**, **description**, **name**, or **display\\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this:\n *\n * `q=ruby+is:featured`\n *\n * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results.\n */\nexport const fetchSearchTopics = (\n  variables: SearchTopicsVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    SearchTopicsResponse,\n    SearchTopicsError,\n    undefined,\n    {},\n    SearchTopicsQueryParams,\n    {}\n  >({ url: '/search/topics', method: 'get', ...variables, signal });\n\n/**\n * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See \"[Searching topics](https://help.github.com/articles/searching-topics/)\" for a detailed list of qualifiers.\n *\n * When searching for topics, you can get text match metadata for the topic's **short\\_description**, **description**, **name**, or **display\\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this:\n *\n * `q=ruby+is:featured`\n *\n * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results.\n */\nexport const useSearchTopics = <TData = SearchTopicsResponse>(\n  variables: SearchTopicsVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<SearchTopicsResponse, SearchTopicsError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<SearchTopicsResponse, SearchTopicsError, TData>(\n    queryKeyFn({\n      path: '/search/topics',\n      operationId: 'searchTopics',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchSearchTopics({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type SearchUsersQueryParams = {\n  /**\n   * The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as GitHub.com. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See \"[Searching users](https://help.github.com/articles/searching-users/)\" for a detailed list of qualifiers.\n   */\n  q: string;\n  /**\n   * Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/reference/search#ranking-search-results)\n   */\n  sort?: 'followers' | 'repositories' | 'joined';\n  /**\n   * Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`.\n   *\n   * @default desc\n   */\n  order?: 'desc' | 'asc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type SearchUsersError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n  | {\n      status: 503;\n      payload: Responses.ServiceUnavailable;\n    }\n>;\n\nexport type SearchUsersResponse = {\n  incomplete_results: boolean;\n  items: Schemas.UserSearchResultItem[];\n  total_count: number;\n};\n\nexport type SearchUsersVariables = {\n  queryParams: SearchUsersQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n *\n * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you're looking for a list of popular users, you might try this query:\n *\n * `q=tom+repos:%3E42+followers:%3E1000`\n *\n * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers.\n */\nexport const fetchSearchUsers = (\n  variables: SearchUsersVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    SearchUsersResponse,\n    SearchUsersError,\n    undefined,\n    {},\n    SearchUsersQueryParams,\n    {}\n  >({ url: '/search/users', method: 'get', ...variables, signal });\n\n/**\n * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).\n *\n * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).\n *\n * For example, if you're looking for a list of popular users, you might try this query:\n *\n * `q=tom+repos:%3E42+followers:%3E1000`\n *\n * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers.\n */\nexport const useSearchUsers = <TData = SearchUsersResponse>(\n  variables: SearchUsersVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<SearchUsersResponse, SearchUsersError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<SearchUsersResponse, SearchUsersError, TData>(\n    queryKeyFn({\n      path: '/search/users',\n      operationId: 'searchUsers',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchSearchUsers({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsDeleteLegacyPathParams = {\n  teamId: number;\n};\n\nexport type TeamsDeleteLegacyError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type TeamsDeleteLegacyVariables = {\n  pathParams: TeamsDeleteLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint.\n *\n * To delete a team, the authenticated user must be an organization owner or team maintainer.\n *\n * If you are an organization owner, deleting a parent team will delete all of its child teams as well.\n */\nexport const fetchTeamsDeleteLegacy = (\n  variables: TeamsDeleteLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsDeleteLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsDeleteLegacyPathParams\n  >({ url: '/teams/{teamId}', method: 'delete', ...variables, signal });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint.\n *\n * To delete a team, the authenticated user must be an organization owner or team maintainer.\n *\n * If you are an organization owner, deleting a parent team will delete all of its child teams as well.\n */\nexport const useTeamsDeleteLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsDeleteLegacyError,\n      TeamsDeleteLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsDeleteLegacyError,\n    TeamsDeleteLegacyVariables\n  >(\n    (variables: TeamsDeleteLegacyVariables) =>\n      fetchTeamsDeleteLegacy({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsGetLegacyPathParams = {\n  teamId: number;\n};\n\nexport type TeamsGetLegacyError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type TeamsGetLegacyVariables = {\n  pathParams: TeamsGetLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint.\n */\nexport const fetchTeamsGetLegacy = (\n  variables: TeamsGetLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamFull,\n    TeamsGetLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsGetLegacyPathParams\n  >({ url: '/teams/{teamId}', method: 'get', ...variables, signal });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint.\n */\nexport const useTeamsGetLegacy = <TData = Schemas.TeamFull>(\n  variables: TeamsGetLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<Schemas.TeamFull, TeamsGetLegacyError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<Schemas.TeamFull, TeamsGetLegacyError, TData>(\n    queryKeyFn({\n      path: '/teams/{team_id}',\n      operationId: 'teamsGetLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsGetLegacy({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsUpdateLegacyPathParams = {\n  teamId: number;\n};\n\nexport type TeamsUpdateLegacyError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type TeamsUpdateLegacyRequestBody = {\n  /**\n   * The description of the team.\n   */\n  description?: string;\n  /**\n   * The name of the team.\n   */\n  name: string;\n  /**\n   * The ID of a team to set as the parent team.\n   */\n  parent_team_id?: number | null;\n  /**\n   * **Deprecated**. The permission that new repositories will be added to the team with when none is specified. Can be one of:\n   * \\* `pull` - team members can pull, but not push to or administer newly-added repositories.\n   * \\* `push` - team members can pull and push, but not administer newly-added repositories.\n   * \\* `admin` - team members can pull, push and administer newly-added repositories.\n   *\n   * @default pull\n   */\n  permission?: 'pull' | 'push' | 'admin';\n  /**\n   * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are:\n   * **For a non-nested team:**\n   * \\* `secret` - only visible to organization owners and members of this team.\n   * \\* `closed` - visible to all members of this organization.\n   * **For a parent or child team:**\n   * \\* `closed` - visible to all members of this organization.\n   */\n  privacy?: 'secret' | 'closed';\n};\n\nexport type TeamsUpdateLegacyVariables = {\n  body: TeamsUpdateLegacyRequestBody;\n  pathParams: TeamsUpdateLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint.\n *\n * To edit a team, the authenticated user must either be an organization owner or a team maintainer.\n *\n * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`.\n */\nexport const fetchTeamsUpdateLegacy = (\n  variables: TeamsUpdateLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamFull,\n    TeamsUpdateLegacyError,\n    TeamsUpdateLegacyRequestBody,\n    {},\n    {},\n    TeamsUpdateLegacyPathParams\n  >({ url: '/teams/{teamId}', method: 'patch', ...variables, signal });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint.\n *\n * To edit a team, the authenticated user must either be an organization owner or a team maintainer.\n *\n * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`.\n */\nexport const useTeamsUpdateLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamFull,\n      TeamsUpdateLegacyError,\n      TeamsUpdateLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamFull,\n    TeamsUpdateLegacyError,\n    TeamsUpdateLegacyVariables\n  >(\n    (variables: TeamsUpdateLegacyVariables) =>\n      fetchTeamsUpdateLegacy({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsListDiscussionsLegacyPathParams = {\n  teamId: number;\n};\n\nexport type TeamsListDiscussionsLegacyQueryParams = {\n  /**\n   * One of `asc` (ascending) or `desc` (descending).\n   *\n   * @default desc\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListDiscussionsLegacyError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsListDiscussionsLegacyResponse = Schemas.TeamDiscussion[];\n\nexport type TeamsListDiscussionsLegacyVariables = {\n  pathParams: TeamsListDiscussionsLegacyPathParams;\n  queryParams?: TeamsListDiscussionsLegacyQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint.\n *\n * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchTeamsListDiscussionsLegacy = (\n  variables: TeamsListDiscussionsLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListDiscussionsLegacyResponse,\n    TeamsListDiscussionsLegacyError,\n    undefined,\n    {},\n    TeamsListDiscussionsLegacyQueryParams,\n    TeamsListDiscussionsLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint.\n *\n * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useTeamsListDiscussionsLegacy = <\n  TData = TeamsListDiscussionsLegacyResponse,\n>(\n  variables: TeamsListDiscussionsLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListDiscussionsLegacyResponse,\n      TeamsListDiscussionsLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListDiscussionsLegacyResponse,\n    TeamsListDiscussionsLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/discussions',\n      operationId: 'teamsListDiscussionsLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListDiscussionsLegacy(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsCreateDiscussionLegacyPathParams = {\n  teamId: number;\n};\n\nexport type TeamsCreateDiscussionLegacyError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsCreateDiscussionLegacyRequestBody = {\n  /**\n   * The discussion post's body text.\n   */\n  body: string;\n  /**\n   * Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post.\n   *\n   * @default false\n   */\n  private?: boolean;\n  /**\n   * The discussion post's title.\n   */\n  title: string;\n};\n\nexport type TeamsCreateDiscussionLegacyVariables = {\n  body: TeamsCreateDiscussionLegacyRequestBody;\n  pathParams: TeamsCreateDiscussionLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint.\n *\n * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const fetchTeamsCreateDiscussionLegacy = (\n  variables: TeamsCreateDiscussionLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamDiscussion,\n    TeamsCreateDiscussionLegacyError,\n    TeamsCreateDiscussionLegacyRequestBody,\n    {},\n    {},\n    TeamsCreateDiscussionLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint.\n *\n * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const useTeamsCreateDiscussionLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamDiscussion,\n      TeamsCreateDiscussionLegacyError,\n      TeamsCreateDiscussionLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamDiscussion,\n    TeamsCreateDiscussionLegacyError,\n    TeamsCreateDiscussionLegacyVariables\n  >(\n    (variables: TeamsCreateDiscussionLegacyVariables) =>\n      fetchTeamsCreateDiscussionLegacy({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsDeleteDiscussionLegacyPathParams = {\n  teamId: number;\n  discussionNumber: number;\n};\n\nexport type TeamsDeleteDiscussionLegacyError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsDeleteDiscussionLegacyVariables = {\n  pathParams: TeamsDeleteDiscussionLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint.\n *\n * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchTeamsDeleteDiscussionLegacy = (\n  variables: TeamsDeleteDiscussionLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsDeleteDiscussionLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsDeleteDiscussionLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions/{discussionNumber}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint.\n *\n * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useTeamsDeleteDiscussionLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsDeleteDiscussionLegacyError,\n      TeamsDeleteDiscussionLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsDeleteDiscussionLegacyError,\n    TeamsDeleteDiscussionLegacyVariables\n  >(\n    (variables: TeamsDeleteDiscussionLegacyVariables) =>\n      fetchTeamsDeleteDiscussionLegacy({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsGetDiscussionLegacyPathParams = {\n  teamId: number;\n  discussionNumber: number;\n};\n\nexport type TeamsGetDiscussionLegacyError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsGetDiscussionLegacyVariables = {\n  pathParams: TeamsGetDiscussionLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint.\n *\n * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchTeamsGetDiscussionLegacy = (\n  variables: TeamsGetDiscussionLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamDiscussion,\n    TeamsGetDiscussionLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsGetDiscussionLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions/{discussionNumber}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint.\n *\n * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useTeamsGetDiscussionLegacy = <TData = Schemas.TeamDiscussion>(\n  variables: TeamsGetDiscussionLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.TeamDiscussion,\n      TeamsGetDiscussionLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.TeamDiscussion,\n    TeamsGetDiscussionLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/discussions/{discussion_number}',\n      operationId: 'teamsGetDiscussionLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsGetDiscussionLegacy(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsUpdateDiscussionLegacyPathParams = {\n  teamId: number;\n  discussionNumber: number;\n};\n\nexport type TeamsUpdateDiscussionLegacyError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsUpdateDiscussionLegacyRequestBody = {\n  /**\n   * The discussion post's body text.\n   */\n  body?: string;\n  /**\n   * The discussion post's title.\n   */\n  title?: string;\n};\n\nexport type TeamsUpdateDiscussionLegacyVariables = {\n  body?: TeamsUpdateDiscussionLegacyRequestBody;\n  pathParams: TeamsUpdateDiscussionLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint.\n *\n * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchTeamsUpdateDiscussionLegacy = (\n  variables: TeamsUpdateDiscussionLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamDiscussion,\n    TeamsUpdateDiscussionLegacyError,\n    TeamsUpdateDiscussionLegacyRequestBody,\n    {},\n    {},\n    TeamsUpdateDiscussionLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions/{discussionNumber}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint.\n *\n * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useTeamsUpdateDiscussionLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamDiscussion,\n      TeamsUpdateDiscussionLegacyError,\n      TeamsUpdateDiscussionLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamDiscussion,\n    TeamsUpdateDiscussionLegacyError,\n    TeamsUpdateDiscussionLegacyVariables\n  >(\n    (variables: TeamsUpdateDiscussionLegacyVariables) =>\n      fetchTeamsUpdateDiscussionLegacy({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsListDiscussionCommentsLegacyPathParams = {\n  teamId: number;\n  discussionNumber: number;\n};\n\nexport type TeamsListDiscussionCommentsLegacyQueryParams = {\n  /**\n   * One of `asc` (ascending) or `desc` (descending).\n   *\n   * @default desc\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListDiscussionCommentsLegacyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsListDiscussionCommentsLegacyResponse =\n  Schemas.TeamDiscussionComment[];\n\nexport type TeamsListDiscussionCommentsLegacyVariables = {\n  pathParams: TeamsListDiscussionCommentsLegacyPathParams;\n  queryParams?: TeamsListDiscussionCommentsLegacyQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint.\n *\n * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchTeamsListDiscussionCommentsLegacy = (\n  variables: TeamsListDiscussionCommentsLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListDiscussionCommentsLegacyResponse,\n    TeamsListDiscussionCommentsLegacyError,\n    undefined,\n    {},\n    TeamsListDiscussionCommentsLegacyQueryParams,\n    TeamsListDiscussionCommentsLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions/{discussionNumber}/comments',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint.\n *\n * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useTeamsListDiscussionCommentsLegacy = <\n  TData = TeamsListDiscussionCommentsLegacyResponse,\n>(\n  variables: TeamsListDiscussionCommentsLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListDiscussionCommentsLegacyResponse,\n      TeamsListDiscussionCommentsLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListDiscussionCommentsLegacyResponse,\n    TeamsListDiscussionCommentsLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/discussions/{discussion_number}/comments',\n      operationId: 'teamsListDiscussionCommentsLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListDiscussionCommentsLegacy(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsCreateDiscussionCommentLegacyPathParams = {\n  teamId: number;\n  discussionNumber: number;\n};\n\nexport type TeamsCreateDiscussionCommentLegacyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsCreateDiscussionCommentLegacyRequestBody = {\n  /**\n   * The discussion comment's body text.\n   */\n  body: string;\n};\n\nexport type TeamsCreateDiscussionCommentLegacyVariables = {\n  body: TeamsCreateDiscussionCommentLegacyRequestBody;\n  pathParams: TeamsCreateDiscussionCommentLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint.\n *\n * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const fetchTeamsCreateDiscussionCommentLegacy = (\n  variables: TeamsCreateDiscussionCommentLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamDiscussionComment,\n    TeamsCreateDiscussionCommentLegacyError,\n    TeamsCreateDiscussionCommentLegacyRequestBody,\n    {},\n    {},\n    TeamsCreateDiscussionCommentLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions/{discussionNumber}/comments',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint.\n *\n * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n *\n * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in abuse rate limiting. See \"[Abuse rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#abuse-rate-limits)\" and \"[Dealing with abuse rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)\" for details.\n */\nexport const useTeamsCreateDiscussionCommentLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamDiscussionComment,\n      TeamsCreateDiscussionCommentLegacyError,\n      TeamsCreateDiscussionCommentLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamDiscussionComment,\n    TeamsCreateDiscussionCommentLegacyError,\n    TeamsCreateDiscussionCommentLegacyVariables\n  >(\n    (variables: TeamsCreateDiscussionCommentLegacyVariables) =>\n      fetchTeamsCreateDiscussionCommentLegacy({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsDeleteDiscussionCommentLegacyPathParams = {\n  teamId: number;\n  discussionNumber: number;\n  commentNumber: number;\n};\n\nexport type TeamsDeleteDiscussionCommentLegacyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsDeleteDiscussionCommentLegacyVariables = {\n  pathParams: TeamsDeleteDiscussionCommentLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint.\n *\n * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchTeamsDeleteDiscussionCommentLegacy = (\n  variables: TeamsDeleteDiscussionCommentLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsDeleteDiscussionCommentLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsDeleteDiscussionCommentLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions/{discussionNumber}/comments/{commentNumber}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint.\n *\n * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useTeamsDeleteDiscussionCommentLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsDeleteDiscussionCommentLegacyError,\n      TeamsDeleteDiscussionCommentLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsDeleteDiscussionCommentLegacyError,\n    TeamsDeleteDiscussionCommentLegacyVariables\n  >(\n    (variables: TeamsDeleteDiscussionCommentLegacyVariables) =>\n      fetchTeamsDeleteDiscussionCommentLegacy({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsGetDiscussionCommentLegacyPathParams = {\n  teamId: number;\n  discussionNumber: number;\n  commentNumber: number;\n};\n\nexport type TeamsGetDiscussionCommentLegacyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsGetDiscussionCommentLegacyVariables = {\n  pathParams: TeamsGetDiscussionCommentLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint.\n *\n * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchTeamsGetDiscussionCommentLegacy = (\n  variables: TeamsGetDiscussionCommentLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamDiscussionComment,\n    TeamsGetDiscussionCommentLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsGetDiscussionCommentLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions/{discussionNumber}/comments/{commentNumber}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint.\n *\n * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useTeamsGetDiscussionCommentLegacy = <\n  TData = Schemas.TeamDiscussionComment,\n>(\n  variables: TeamsGetDiscussionCommentLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.TeamDiscussionComment,\n      TeamsGetDiscussionCommentLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.TeamDiscussionComment,\n    TeamsGetDiscussionCommentLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}',\n      operationId: 'teamsGetDiscussionCommentLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsGetDiscussionCommentLegacy(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsUpdateDiscussionCommentLegacyPathParams = {\n  teamId: number;\n  discussionNumber: number;\n  commentNumber: number;\n};\n\nexport type TeamsUpdateDiscussionCommentLegacyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsUpdateDiscussionCommentLegacyRequestBody = {\n  /**\n   * The discussion comment's body text.\n   */\n  body: string;\n};\n\nexport type TeamsUpdateDiscussionCommentLegacyVariables = {\n  body: TeamsUpdateDiscussionCommentLegacyRequestBody;\n  pathParams: TeamsUpdateDiscussionCommentLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint.\n *\n * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchTeamsUpdateDiscussionCommentLegacy = (\n  variables: TeamsUpdateDiscussionCommentLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamDiscussionComment,\n    TeamsUpdateDiscussionCommentLegacyError,\n    TeamsUpdateDiscussionCommentLegacyRequestBody,\n    {},\n    {},\n    TeamsUpdateDiscussionCommentLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions/{discussionNumber}/comments/{commentNumber}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint.\n *\n * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useTeamsUpdateDiscussionCommentLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamDiscussionComment,\n      TeamsUpdateDiscussionCommentLegacyError,\n      TeamsUpdateDiscussionCommentLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamDiscussionComment,\n    TeamsUpdateDiscussionCommentLegacyError,\n    TeamsUpdateDiscussionCommentLegacyVariables\n  >(\n    (variables: TeamsUpdateDiscussionCommentLegacyVariables) =>\n      fetchTeamsUpdateDiscussionCommentLegacy({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReactionsListForTeamDiscussionCommentLegacyPathParams = {\n  teamId: number;\n  discussionNumber: number;\n  commentNumber: number;\n};\n\nexport type ReactionsListForTeamDiscussionCommentLegacyQueryParams = {\n  /**\n   * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment.\n   */\n  content?:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReactionsListForTeamDiscussionCommentLegacyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsListForTeamDiscussionCommentLegacyResponse =\n  Schemas.Reaction[];\n\nexport type ReactionsListForTeamDiscussionCommentLegacyVariables = {\n  pathParams: ReactionsListForTeamDiscussionCommentLegacyPathParams;\n  queryParams?: ReactionsListForTeamDiscussionCommentLegacyQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint.\n *\n * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchReactionsListForTeamDiscussionCommentLegacy = (\n  variables: ReactionsListForTeamDiscussionCommentLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReactionsListForTeamDiscussionCommentLegacyResponse,\n    ReactionsListForTeamDiscussionCommentLegacyError,\n    undefined,\n    {},\n    ReactionsListForTeamDiscussionCommentLegacyQueryParams,\n    ReactionsListForTeamDiscussionCommentLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions/{discussionNumber}/comments/{commentNumber}/reactions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint.\n *\n * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useReactionsListForTeamDiscussionCommentLegacy = <\n  TData = ReactionsListForTeamDiscussionCommentLegacyResponse,\n>(\n  variables: ReactionsListForTeamDiscussionCommentLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReactionsListForTeamDiscussionCommentLegacyResponse,\n      ReactionsListForTeamDiscussionCommentLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReactionsListForTeamDiscussionCommentLegacyResponse,\n    ReactionsListForTeamDiscussionCommentLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions',\n      operationId: 'reactionsListForTeamDiscussionCommentLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReactionsListForTeamDiscussionCommentLegacy(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReactionsCreateForTeamDiscussionCommentLegacyPathParams = {\n  teamId: number;\n  discussionNumber: number;\n  commentNumber: number;\n};\n\nexport type ReactionsCreateForTeamDiscussionCommentLegacyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsCreateForTeamDiscussionCommentLegacyRequestBody = {\n  /**\n   * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment.\n   */\n  content:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n};\n\nexport type ReactionsCreateForTeamDiscussionCommentLegacyVariables = {\n  body: ReactionsCreateForTeamDiscussionCommentLegacyRequestBody;\n  pathParams: ReactionsCreateForTeamDiscussionCommentLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new \"[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)\" endpoint.\n *\n * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment.\n */\nexport const fetchReactionsCreateForTeamDiscussionCommentLegacy = (\n  variables: ReactionsCreateForTeamDiscussionCommentLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Reaction,\n    ReactionsCreateForTeamDiscussionCommentLegacyError,\n    ReactionsCreateForTeamDiscussionCommentLegacyRequestBody,\n    {},\n    {},\n    ReactionsCreateForTeamDiscussionCommentLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions/{discussionNumber}/comments/{commentNumber}/reactions',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new \"[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)\" endpoint.\n *\n * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion comment.\n */\nexport const useReactionsCreateForTeamDiscussionCommentLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Reaction,\n      ReactionsCreateForTeamDiscussionCommentLegacyError,\n      ReactionsCreateForTeamDiscussionCommentLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Reaction,\n    ReactionsCreateForTeamDiscussionCommentLegacyError,\n    ReactionsCreateForTeamDiscussionCommentLegacyVariables\n  >(\n    (variables: ReactionsCreateForTeamDiscussionCommentLegacyVariables) =>\n      fetchReactionsCreateForTeamDiscussionCommentLegacy({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ReactionsListForTeamDiscussionLegacyPathParams = {\n  teamId: number;\n  discussionNumber: number;\n};\n\nexport type ReactionsListForTeamDiscussionLegacyQueryParams = {\n  /**\n   * Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion.\n   */\n  content?:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReactionsListForTeamDiscussionLegacyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsListForTeamDiscussionLegacyResponse = Schemas.Reaction[];\n\nexport type ReactionsListForTeamDiscussionLegacyVariables = {\n  pathParams: ReactionsListForTeamDiscussionLegacyPathParams;\n  queryParams?: ReactionsListForTeamDiscussionLegacyQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint.\n *\n * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchReactionsListForTeamDiscussionLegacy = (\n  variables: ReactionsListForTeamDiscussionLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReactionsListForTeamDiscussionLegacyResponse,\n    ReactionsListForTeamDiscussionLegacyError,\n    undefined,\n    {},\n    ReactionsListForTeamDiscussionLegacyQueryParams,\n    ReactionsListForTeamDiscussionLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions/{discussionNumber}/reactions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint.\n *\n * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useReactionsListForTeamDiscussionLegacy = <\n  TData = ReactionsListForTeamDiscussionLegacyResponse,\n>(\n  variables: ReactionsListForTeamDiscussionLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReactionsListForTeamDiscussionLegacyResponse,\n      ReactionsListForTeamDiscussionLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReactionsListForTeamDiscussionLegacyResponse,\n    ReactionsListForTeamDiscussionLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/discussions/{discussion_number}/reactions',\n      operationId: 'reactionsListForTeamDiscussionLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReactionsListForTeamDiscussionLegacy(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReactionsCreateForTeamDiscussionLegacyPathParams = {\n  teamId: number;\n  discussionNumber: number;\n};\n\nexport type ReactionsCreateForTeamDiscussionLegacyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ReactionsCreateForTeamDiscussionLegacyRequestBody = {\n  /**\n   * The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion.\n   */\n  content:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n};\n\nexport type ReactionsCreateForTeamDiscussionLegacyVariables = {\n  body: ReactionsCreateForTeamDiscussionLegacyRequestBody;\n  pathParams: ReactionsCreateForTeamDiscussionLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint.\n *\n * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion.\n */\nexport const fetchReactionsCreateForTeamDiscussionLegacy = (\n  variables: ReactionsCreateForTeamDiscussionLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Reaction,\n    ReactionsCreateForTeamDiscussionLegacyError,\n    ReactionsCreateForTeamDiscussionLegacyRequestBody,\n    {},\n    {},\n    ReactionsCreateForTeamDiscussionLegacyPathParams\n  >({\n    url: '/teams/{teamId}/discussions/{discussionNumber}/reactions',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint.\n *\n * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with a `Status: 200 OK` means that you already added the reaction type to this team discussion.\n */\nexport const useReactionsCreateForTeamDiscussionLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Reaction,\n      ReactionsCreateForTeamDiscussionLegacyError,\n      ReactionsCreateForTeamDiscussionLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Reaction,\n    ReactionsCreateForTeamDiscussionLegacyError,\n    ReactionsCreateForTeamDiscussionLegacyVariables\n  >(\n    (variables: ReactionsCreateForTeamDiscussionLegacyVariables) =>\n      fetchReactionsCreateForTeamDiscussionLegacy({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsListPendingInvitationsLegacyPathParams = {\n  teamId: number;\n};\n\nexport type TeamsListPendingInvitationsLegacyQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListPendingInvitationsLegacyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsListPendingInvitationsLegacyResponse =\n  Schemas.OrganizationInvitation[];\n\nexport type TeamsListPendingInvitationsLegacyVariables = {\n  pathParams: TeamsListPendingInvitationsLegacyPathParams;\n  queryParams?: TeamsListPendingInvitationsLegacyQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint.\n *\n * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.\n */\nexport const fetchTeamsListPendingInvitationsLegacy = (\n  variables: TeamsListPendingInvitationsLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListPendingInvitationsLegacyResponse,\n    TeamsListPendingInvitationsLegacyError,\n    undefined,\n    {},\n    TeamsListPendingInvitationsLegacyQueryParams,\n    TeamsListPendingInvitationsLegacyPathParams\n  >({\n    url: '/teams/{teamId}/invitations',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint.\n *\n * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.\n */\nexport const useTeamsListPendingInvitationsLegacy = <\n  TData = TeamsListPendingInvitationsLegacyResponse,\n>(\n  variables: TeamsListPendingInvitationsLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListPendingInvitationsLegacyResponse,\n      TeamsListPendingInvitationsLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListPendingInvitationsLegacyResponse,\n    TeamsListPendingInvitationsLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/invitations',\n      operationId: 'teamsListPendingInvitationsLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListPendingInvitationsLegacy(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsListMembersLegacyPathParams = {\n  teamId: number;\n};\n\nexport type TeamsListMembersLegacyQueryParams = {\n  /**\n   * Filters members returned by their role in the team. Can be one of:\n   * \\* `member` - normal members of the team.\n   * \\* `maintainer` - team maintainers.\n   * \\* `all` - all members of the team.\n   *\n   * @default all\n   */\n  role?: 'member' | 'maintainer' | 'all';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListMembersLegacyError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type TeamsListMembersLegacyResponse = Schemas.SimpleUser[];\n\nexport type TeamsListMembersLegacyVariables = {\n  pathParams: TeamsListMembersLegacyPathParams;\n  queryParams?: TeamsListMembersLegacyQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint.\n *\n * Team members will include the members of child teams.\n */\nexport const fetchTeamsListMembersLegacy = (\n  variables: TeamsListMembersLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListMembersLegacyResponse,\n    TeamsListMembersLegacyError,\n    undefined,\n    {},\n    TeamsListMembersLegacyQueryParams,\n    TeamsListMembersLegacyPathParams\n  >({ url: '/teams/{teamId}/members', method: 'get', ...variables, signal });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint.\n *\n * Team members will include the members of child teams.\n */\nexport const useTeamsListMembersLegacy = <\n  TData = TeamsListMembersLegacyResponse,\n>(\n  variables: TeamsListMembersLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListMembersLegacyResponse,\n      TeamsListMembersLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListMembersLegacyResponse,\n    TeamsListMembersLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/members',\n      operationId: 'teamsListMembersLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListMembersLegacy({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsRemoveMemberLegacyPathParams = {\n  teamId: number;\n  username: string;\n};\n\nexport type TeamsRemoveMemberLegacyError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsRemoveMemberLegacyVariables = {\n  pathParams: TeamsRemoveMemberLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The \"Remove team member\" endpoint (described below) is deprecated.\n *\n * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships.\n *\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team.\n *\n * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n */\nexport const fetchTeamsRemoveMemberLegacy = (\n  variables: TeamsRemoveMemberLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsRemoveMemberLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsRemoveMemberLegacyPathParams\n  >({\n    url: '/teams/{teamId}/members/{username}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * The \"Remove team member\" endpoint (described below) is deprecated.\n *\n * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships.\n *\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team.\n *\n * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n */\nexport const useTeamsRemoveMemberLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsRemoveMemberLegacyError,\n      TeamsRemoveMemberLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsRemoveMemberLegacyError,\n    TeamsRemoveMemberLegacyVariables\n  >(\n    (variables: TeamsRemoveMemberLegacyVariables) =>\n      fetchTeamsRemoveMemberLegacy({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsGetMemberLegacyPathParams = {\n  teamId: number;\n  username: string;\n};\n\nexport type TeamsGetMemberLegacyError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsGetMemberLegacyVariables = {\n  pathParams: TeamsGetMemberLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The \"Get team member\" endpoint (described below) is deprecated.\n *\n * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships.\n *\n * To list members in a team, the team must be visible to the authenticated user.\n */\nexport const fetchTeamsGetMemberLegacy = (\n  variables: TeamsGetMemberLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsGetMemberLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsGetMemberLegacyPathParams\n  >({\n    url: '/teams/{teamId}/members/{username}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * The \"Get team member\" endpoint (described below) is deprecated.\n *\n * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships.\n *\n * To list members in a team, the team must be visible to the authenticated user.\n */\nexport const useTeamsGetMemberLegacy = <TData = undefined>(\n  variables: TeamsGetMemberLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<undefined, TeamsGetMemberLegacyError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<undefined, TeamsGetMemberLegacyError, TData>(\n    queryKeyFn({\n      path: '/teams/{team_id}/members/{username}',\n      operationId: 'teamsGetMemberLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsGetMemberLegacy({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsAddMemberLegacyPathParams = {\n  teamId: number;\n  username: string;\n};\n\nexport type TeamsAddMemberLegacyError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: {\n        /**\n         * @example \"https://docs.github.com/rest\"\n         */\n        documentation_url?: string;\n        errors?: {\n          code?: string;\n          field?: string;\n          resource?: string;\n        }[];\n        message?: string;\n      };\n    }\n>;\n\nexport type TeamsAddMemberLegacyVariables = {\n  pathParams: TeamsAddMemberLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * The \"Add team member\" endpoint (described below) is deprecated.\n *\n * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams.\n *\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization.\n *\n * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n *\n * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n */\nexport const fetchTeamsAddMemberLegacy = (\n  variables: TeamsAddMemberLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsAddMemberLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsAddMemberLegacyPathParams\n  >({\n    url: '/teams/{teamId}/members/{username}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * The \"Add team member\" endpoint (described below) is deprecated.\n *\n * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams.\n *\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization.\n *\n * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n *\n * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n */\nexport const useTeamsAddMemberLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsAddMemberLegacyError,\n      TeamsAddMemberLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsAddMemberLegacyError,\n    TeamsAddMemberLegacyVariables\n  >(\n    (variables: TeamsAddMemberLegacyVariables) =>\n      fetchTeamsAddMemberLegacy({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsRemoveMembershipForUserLegacyPathParams = {\n  teamId: number;\n  username: string;\n};\n\nexport type TeamsRemoveMembershipForUserLegacyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsRemoveMembershipForUserLegacyVariables = {\n  pathParams: TeamsRemoveMembershipForUserLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint.\n *\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team.\n *\n * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n */\nexport const fetchTeamsRemoveMembershipForUserLegacy = (\n  variables: TeamsRemoveMembershipForUserLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsRemoveMembershipForUserLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsRemoveMembershipForUserLegacyPathParams\n  >({\n    url: '/teams/{teamId}/memberships/{username}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint.\n *\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team.\n *\n * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n */\nexport const useTeamsRemoveMembershipForUserLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsRemoveMembershipForUserLegacyError,\n      TeamsRemoveMembershipForUserLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsRemoveMembershipForUserLegacyError,\n    TeamsRemoveMembershipForUserLegacyVariables\n  >(\n    (variables: TeamsRemoveMembershipForUserLegacyVariables) =>\n      fetchTeamsRemoveMembershipForUserLegacy({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsGetMembershipForUserLegacyPathParams = {\n  teamId: number;\n  username: string;\n};\n\nexport type TeamsGetMembershipForUserLegacyError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type TeamsGetMembershipForUserLegacyVariables = {\n  pathParams: TeamsGetMembershipForUserLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint.\n *\n * Team members will include the members of child teams.\n *\n * To get a user's membership with a team, the team must be visible to the authenticated user.\n *\n * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team).\n */\nexport const fetchTeamsGetMembershipForUserLegacy = (\n  variables: TeamsGetMembershipForUserLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamMembership,\n    TeamsGetMembershipForUserLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsGetMembershipForUserLegacyPathParams\n  >({\n    url: '/teams/{teamId}/memberships/{username}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint.\n *\n * Team members will include the members of child teams.\n *\n * To get a user's membership with a team, the team must be visible to the authenticated user.\n *\n * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team).\n */\nexport const useTeamsGetMembershipForUserLegacy = <\n  TData = Schemas.TeamMembership,\n>(\n  variables: TeamsGetMembershipForUserLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.TeamMembership,\n      TeamsGetMembershipForUserLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.TeamMembership,\n    TeamsGetMembershipForUserLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/memberships/{username}',\n      operationId: 'teamsGetMembershipForUserLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsGetMembershipForUserLegacy(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsAddOrUpdateMembershipForUserLegacyPathParams = {\n  teamId: number;\n  username: string;\n};\n\nexport type TeamsAddOrUpdateMembershipForUserLegacyError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: {\n        /**\n         * @example \"https://help.github.com/articles/github-and-trade-controls\"\n         */\n        documentation_url?: string;\n        errors?: {\n          code?: string;\n          field?: string;\n          resource?: string;\n        }[];\n        message?: string;\n      };\n    }\n>;\n\nexport type TeamsAddOrUpdateMembershipForUserLegacyRequestBody = {\n  /**\n   * The role that this user should have in the team. Can be one of:\n   * \\* `member` - a normal member of the team.\n   * \\* `maintainer` - a team maintainer. Able to add/remove other team members, promote other team members to team maintainer, and edit the team's name and description.\n   *\n   * @default member\n   */\n  role?: 'member' | 'maintainer';\n};\n\nexport type TeamsAddOrUpdateMembershipForUserLegacyVariables = {\n  body?: TeamsAddOrUpdateMembershipForUserLegacyRequestBody;\n  pathParams: TeamsAddOrUpdateMembershipForUserLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint.\n *\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer.\n *\n * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n *\n * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the \"pending\" state until the user accepts the invitation, at which point the membership will transition to the \"active\" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner.\n *\n * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer.\n */\nexport const fetchTeamsAddOrUpdateMembershipForUserLegacy = (\n  variables: TeamsAddOrUpdateMembershipForUserLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamMembership,\n    TeamsAddOrUpdateMembershipForUserLegacyError,\n    TeamsAddOrUpdateMembershipForUserLegacyRequestBody,\n    {},\n    {},\n    TeamsAddOrUpdateMembershipForUserLegacyPathParams\n  >({\n    url: '/teams/{teamId}/memberships/{username}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint.\n *\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer.\n *\n * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see \"[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/).\"\n *\n * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the \"pending\" state until the user accepts the invitation, at which point the membership will transition to the \"active\" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner.\n *\n * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer.\n */\nexport const useTeamsAddOrUpdateMembershipForUserLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.TeamMembership,\n      TeamsAddOrUpdateMembershipForUserLegacyError,\n      TeamsAddOrUpdateMembershipForUserLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.TeamMembership,\n    TeamsAddOrUpdateMembershipForUserLegacyError,\n    TeamsAddOrUpdateMembershipForUserLegacyVariables\n  >(\n    (variables: TeamsAddOrUpdateMembershipForUserLegacyVariables) =>\n      fetchTeamsAddOrUpdateMembershipForUserLegacy({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsListProjectsLegacyPathParams = {\n  teamId: number;\n};\n\nexport type TeamsListProjectsLegacyQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListProjectsLegacyError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type TeamsListProjectsLegacyResponse = Schemas.TeamProject[];\n\nexport type TeamsListProjectsLegacyVariables = {\n  pathParams: TeamsListProjectsLegacyPathParams;\n  queryParams?: TeamsListProjectsLegacyQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint.\n *\n * Lists the organization projects for a team.\n */\nexport const fetchTeamsListProjectsLegacy = (\n  variables: TeamsListProjectsLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListProjectsLegacyResponse,\n    TeamsListProjectsLegacyError,\n    undefined,\n    {},\n    TeamsListProjectsLegacyQueryParams,\n    TeamsListProjectsLegacyPathParams\n  >({ url: '/teams/{teamId}/projects', method: 'get', ...variables, signal });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint.\n *\n * Lists the organization projects for a team.\n */\nexport const useTeamsListProjectsLegacy = <\n  TData = TeamsListProjectsLegacyResponse,\n>(\n  variables: TeamsListProjectsLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListProjectsLegacyResponse,\n      TeamsListProjectsLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListProjectsLegacyResponse,\n    TeamsListProjectsLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/projects',\n      operationId: 'teamsListProjectsLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListProjectsLegacy({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsRemoveProjectLegacyPathParams = {\n  teamId: number;\n  projectId: number;\n};\n\nexport type TeamsRemoveProjectLegacyError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type TeamsRemoveProjectLegacyVariables = {\n  pathParams: TeamsRemoveProjectLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint.\n *\n * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it.\n */\nexport const fetchTeamsRemoveProjectLegacy = (\n  variables: TeamsRemoveProjectLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsRemoveProjectLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsRemoveProjectLegacyPathParams\n  >({\n    url: '/teams/{teamId}/projects/{projectId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint.\n *\n * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it.\n */\nexport const useTeamsRemoveProjectLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsRemoveProjectLegacyError,\n      TeamsRemoveProjectLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsRemoveProjectLegacyError,\n    TeamsRemoveProjectLegacyVariables\n  >(\n    (variables: TeamsRemoveProjectLegacyVariables) =>\n      fetchTeamsRemoveProjectLegacy({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsCheckPermissionsForProjectLegacyPathParams = {\n  teamId: number;\n  projectId: number;\n};\n\nexport type TeamsCheckPermissionsForProjectLegacyError = Fetcher.ErrorWrapper<{\n  status: 415;\n  payload: Responses.PreviewHeaderMissing;\n}>;\n\nexport type TeamsCheckPermissionsForProjectLegacyVariables = {\n  pathParams: TeamsCheckPermissionsForProjectLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint.\n *\n * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.\n */\nexport const fetchTeamsCheckPermissionsForProjectLegacy = (\n  variables: TeamsCheckPermissionsForProjectLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.TeamProject,\n    TeamsCheckPermissionsForProjectLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsCheckPermissionsForProjectLegacyPathParams\n  >({\n    url: '/teams/{teamId}/projects/{projectId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint.\n *\n * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.\n */\nexport const useTeamsCheckPermissionsForProjectLegacy = <\n  TData = Schemas.TeamProject,\n>(\n  variables: TeamsCheckPermissionsForProjectLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.TeamProject,\n      TeamsCheckPermissionsForProjectLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.TeamProject,\n    TeamsCheckPermissionsForProjectLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/projects/{project_id}',\n      operationId: 'teamsCheckPermissionsForProjectLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsCheckPermissionsForProjectLegacy(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsAddOrUpdateProjectPermissionsLegacyPathParams = {\n  teamId: number;\n  projectId: number;\n};\n\nexport type TeamsAddOrUpdateProjectPermissionsLegacyError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 403;\n        payload: {\n          documentation_url?: string;\n          message?: string;\n        };\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n    | {\n        status: 415;\n        payload: Responses.PreviewHeaderMissing;\n      }\n    | {\n        status: 422;\n        payload: Responses.ValidationFailed;\n      }\n  >;\n\nexport type TeamsAddOrUpdateProjectPermissionsLegacyRequestBody = {\n  /**\n   * The permission to grant to the team for this project. Can be one of:\n   * \\* `read` - team members can read, but not write to or administer this project.\n   * \\* `write` - team members can read and write, but not administer this project.\n   * \\* `admin` - team members can read, write and administer this project.\n   * Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n   */\n  permission?: 'read' | 'write' | 'admin';\n};\n\nexport type TeamsAddOrUpdateProjectPermissionsLegacyVariables = {\n  body?: TeamsAddOrUpdateProjectPermissionsLegacyRequestBody;\n  pathParams: TeamsAddOrUpdateProjectPermissionsLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint.\n *\n * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.\n */\nexport const fetchTeamsAddOrUpdateProjectPermissionsLegacy = (\n  variables: TeamsAddOrUpdateProjectPermissionsLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsAddOrUpdateProjectPermissionsLegacyError,\n    TeamsAddOrUpdateProjectPermissionsLegacyRequestBody,\n    {},\n    {},\n    TeamsAddOrUpdateProjectPermissionsLegacyPathParams\n  >({\n    url: '/teams/{teamId}/projects/{projectId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint.\n *\n * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.\n */\nexport const useTeamsAddOrUpdateProjectPermissionsLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsAddOrUpdateProjectPermissionsLegacyError,\n      TeamsAddOrUpdateProjectPermissionsLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsAddOrUpdateProjectPermissionsLegacyError,\n    TeamsAddOrUpdateProjectPermissionsLegacyVariables\n  >(\n    (variables: TeamsAddOrUpdateProjectPermissionsLegacyVariables) =>\n      fetchTeamsAddOrUpdateProjectPermissionsLegacy({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsListReposLegacyPathParams = {\n  teamId: number;\n};\n\nexport type TeamsListReposLegacyQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListReposLegacyError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type TeamsListReposLegacyResponse = Schemas.MinimalRepository[];\n\nexport type TeamsListReposLegacyVariables = {\n  pathParams: TeamsListReposLegacyPathParams;\n  queryParams?: TeamsListReposLegacyQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint.\n */\nexport const fetchTeamsListReposLegacy = (\n  variables: TeamsListReposLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListReposLegacyResponse,\n    TeamsListReposLegacyError,\n    undefined,\n    {},\n    TeamsListReposLegacyQueryParams,\n    TeamsListReposLegacyPathParams\n  >({ url: '/teams/{teamId}/repos', method: 'get', ...variables, signal });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint.\n */\nexport const useTeamsListReposLegacy = <TData = TeamsListReposLegacyResponse>(\n  variables: TeamsListReposLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListReposLegacyResponse,\n      TeamsListReposLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListReposLegacyResponse,\n    TeamsListReposLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/repos',\n      operationId: 'teamsListReposLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListReposLegacy({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsRemoveRepoLegacyPathParams = {\n  teamId: number;\n  owner: string;\n  repo: string;\n};\n\nexport type TeamsRemoveRepoLegacyError = Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsRemoveRepoLegacyVariables = {\n  pathParams: TeamsRemoveRepoLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint.\n *\n * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team.\n */\nexport const fetchTeamsRemoveRepoLegacy = (\n  variables: TeamsRemoveRepoLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsRemoveRepoLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsRemoveRepoLegacyPathParams\n  >({\n    url: '/teams/{teamId}/repos/{owner}/{repo}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint.\n *\n * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team.\n */\nexport const useTeamsRemoveRepoLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsRemoveRepoLegacyError,\n      TeamsRemoveRepoLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsRemoveRepoLegacyError,\n    TeamsRemoveRepoLegacyVariables\n  >(\n    (variables: TeamsRemoveRepoLegacyVariables) =>\n      fetchTeamsRemoveRepoLegacy({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type TeamsCheckPermissionsForRepoLegacyPathParams = {\n  teamId: number;\n  owner: string;\n  repo: string;\n};\n\nexport type TeamsCheckPermissionsForRepoLegacyError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type TeamsCheckPermissionsForRepoLegacyVariables = {\n  pathParams: TeamsCheckPermissionsForRepoLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note**: Repositories inherited through a parent team will also be checked.\n *\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint.\n *\n * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:\n */\nexport const fetchTeamsCheckPermissionsForRepoLegacy = (\n  variables: TeamsCheckPermissionsForRepoLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsCheckPermissionsForRepoLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsCheckPermissionsForRepoLegacyPathParams\n  >({\n    url: '/teams/{teamId}/repos/{owner}/{repo}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Note**: Repositories inherited through a parent team will also be checked.\n *\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint.\n *\n * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:\n */\nexport const useTeamsCheckPermissionsForRepoLegacy = <TData = undefined>(\n  variables: TeamsCheckPermissionsForRepoLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      TeamsCheckPermissionsForRepoLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    TeamsCheckPermissionsForRepoLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/repos/{owner}/{repo}',\n      operationId: 'teamsCheckPermissionsForRepoLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsCheckPermissionsForRepoLegacy(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsAddOrUpdateRepoPermissionsLegacyPathParams = {\n  teamId: number;\n  owner: string;\n  repo: string;\n};\n\nexport type TeamsAddOrUpdateRepoPermissionsLegacyError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type TeamsAddOrUpdateRepoPermissionsLegacyRequestBody = {\n  /**\n   * The permission to grant the team on this repository. Can be one of:\n   * \\* `pull` - team members can pull, but not push to or administer this repository.\n   * \\* `push` - team members can pull and push, but not administer this repository.\n   * \\* `admin` - team members can pull, push and administer this repository.\n   *\n   * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository.\n   */\n  permission?: 'pull' | 'push' | 'admin';\n};\n\nexport type TeamsAddOrUpdateRepoPermissionsLegacyVariables = {\n  body?: TeamsAddOrUpdateRepoPermissionsLegacyRequestBody;\n  pathParams: TeamsAddOrUpdateRepoPermissionsLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new \"[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)\" endpoint.\n *\n * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization.\n *\n * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n */\nexport const fetchTeamsAddOrUpdateRepoPermissionsLegacy = (\n  variables: TeamsAddOrUpdateRepoPermissionsLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    TeamsAddOrUpdateRepoPermissionsLegacyError,\n    TeamsAddOrUpdateRepoPermissionsLegacyRequestBody,\n    {},\n    {},\n    TeamsAddOrUpdateRepoPermissionsLegacyPathParams\n  >({\n    url: '/teams/{teamId}/repos/{owner}/{repo}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new \"[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)\" endpoint.\n *\n * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization.\n *\n * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n */\nexport const useTeamsAddOrUpdateRepoPermissionsLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      TeamsAddOrUpdateRepoPermissionsLegacyError,\n      TeamsAddOrUpdateRepoPermissionsLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    TeamsAddOrUpdateRepoPermissionsLegacyError,\n    TeamsAddOrUpdateRepoPermissionsLegacyVariables\n  >(\n    (variables: TeamsAddOrUpdateRepoPermissionsLegacyVariables) =>\n      fetchTeamsAddOrUpdateRepoPermissionsLegacy({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsListIdpGroupsForLegacyPathParams = {\n  teamId: number;\n};\n\nexport type TeamsListIdpGroupsForLegacyError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type TeamsListIdpGroupsForLegacyVariables = {\n  pathParams: TeamsListIdpGroupsForLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint.\n *\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * List IdP groups connected to a team on GitHub.\n */\nexport const fetchTeamsListIdpGroupsForLegacy = (\n  variables: TeamsListIdpGroupsForLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GroupMapping,\n    TeamsListIdpGroupsForLegacyError,\n    undefined,\n    {},\n    {},\n    TeamsListIdpGroupsForLegacyPathParams\n  >({\n    url: '/teams/{teamId}/team-sync/group-mappings',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint.\n *\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * List IdP groups connected to a team on GitHub.\n */\nexport const useTeamsListIdpGroupsForLegacy = <TData = Schemas.GroupMapping>(\n  variables: TeamsListIdpGroupsForLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.GroupMapping,\n      TeamsListIdpGroupsForLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.GroupMapping,\n    TeamsListIdpGroupsForLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/team-sync/group-mappings',\n      operationId: 'teamsListIdpGroupsForLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListIdpGroupsForLegacy(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsCreateOrUpdateIdpGroupConnectionsLegacyPathParams = {\n  teamId: number;\n};\n\nexport type TeamsCreateOrUpdateIdpGroupConnectionsLegacyError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 422;\n        payload: Responses.ValidationFailed;\n      }\n  >;\n\nexport type TeamsCreateOrUpdateIdpGroupConnectionsLegacyRequestBody = {\n  /**\n   * The IdP groups you want to connect to a GitHub team. When updating, the new `groups` object will replace the original one. You must include any existing groups that you don't want to remove.\n   */\n  groups: {\n    /**\n     * @example \"moar cheese pleese\"\n     */\n    description?: string;\n    /**\n     * Description of the IdP group.\n     */\n    group_description: string;\n    /**\n     * ID of the IdP group.\n     */\n    group_id: string;\n    /**\n     * Name of the IdP group.\n     */\n    group_name: string;\n    /**\n     * @example \"caceab43fc9ffa20081c\"\n     */\n    id?: string;\n    /**\n     * @example \"external-team-6c13e7288ef7\"\n     */\n    name?: string;\n  }[];\n  /**\n   * @example \"I am not a timestamp\"\n   */\n  synced_at?: string;\n};\n\nexport type TeamsCreateOrUpdateIdpGroupConnectionsLegacyVariables = {\n  body: TeamsCreateOrUpdateIdpGroupConnectionsLegacyRequestBody;\n  pathParams: TeamsCreateOrUpdateIdpGroupConnectionsLegacyPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint.\n *\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team.\n */\nexport const fetchTeamsCreateOrUpdateIdpGroupConnectionsLegacy = (\n  variables: TeamsCreateOrUpdateIdpGroupConnectionsLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GroupMapping,\n    TeamsCreateOrUpdateIdpGroupConnectionsLegacyError,\n    TeamsCreateOrUpdateIdpGroupConnectionsLegacyRequestBody,\n    {},\n    {},\n    TeamsCreateOrUpdateIdpGroupConnectionsLegacyPathParams\n  >({\n    url: '/teams/{teamId}/team-sync/group-mappings',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint.\n *\n * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.\n *\n * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team.\n */\nexport const useTeamsCreateOrUpdateIdpGroupConnectionsLegacy = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.GroupMapping,\n      TeamsCreateOrUpdateIdpGroupConnectionsLegacyError,\n      TeamsCreateOrUpdateIdpGroupConnectionsLegacyVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.GroupMapping,\n    TeamsCreateOrUpdateIdpGroupConnectionsLegacyError,\n    TeamsCreateOrUpdateIdpGroupConnectionsLegacyVariables\n  >(\n    (variables: TeamsCreateOrUpdateIdpGroupConnectionsLegacyVariables) =>\n      fetchTeamsCreateOrUpdateIdpGroupConnectionsLegacy({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type TeamsListChildLegacyPathParams = {\n  teamId: number;\n};\n\nexport type TeamsListChildLegacyQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListChildLegacyError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type TeamsListChildLegacyResponse = Schemas.Team[];\n\nexport type TeamsListChildLegacyVariables = {\n  pathParams: TeamsListChildLegacyPathParams;\n  queryParams?: TeamsListChildLegacyQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint.\n */\nexport const fetchTeamsListChildLegacy = (\n  variables: TeamsListChildLegacyVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListChildLegacyResponse,\n    TeamsListChildLegacyError,\n    undefined,\n    {},\n    TeamsListChildLegacyQueryParams,\n    TeamsListChildLegacyPathParams\n  >({ url: '/teams/{teamId}/teams', method: 'get', ...variables, signal });\n\n/**\n * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint.\n */\nexport const useTeamsListChildLegacy = <TData = TeamsListChildLegacyResponse>(\n  variables: TeamsListChildLegacyVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListChildLegacyResponse,\n      TeamsListChildLegacyError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListChildLegacyResponse,\n    TeamsListChildLegacyError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/teams/{team_id}/teams',\n      operationId: 'teamsListChildLegacy',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListChildLegacy({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersGetAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type UsersGetAuthenticatedVariables = GithubContext['fetcherOptions'];\n\n/**\n * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information.\n *\n * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information.\n */\nexport const fetchUsersGetAuthenticated = (\n  variables: UsersGetAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PrivateUser | Schemas.PublicUser,\n    UsersGetAuthenticatedError,\n    undefined,\n    {},\n    {},\n    {}\n  >({ url: '/user', method: 'get', ...variables, signal });\n\n/**\n * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information.\n *\n * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information.\n */\nexport const useUsersGetAuthenticated = <\n  TData = Schemas.PrivateUser | Schemas.PublicUser,\n>(\n  variables: UsersGetAuthenticatedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PrivateUser | Schemas.PublicUser,\n      UsersGetAuthenticatedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.PrivateUser | Schemas.PublicUser,\n    UsersGetAuthenticatedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user',\n      operationId: 'usersGetAuthenticated',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersGetAuthenticated({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersUpdateAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type UsersUpdateAuthenticatedRequestBody = {\n  /**\n   * The new short biography of the user.\n   */\n  bio?: string;\n  /**\n   * The new blog URL of the user.\n   *\n   * @example blog.example.com\n   */\n  blog?: string;\n  /**\n   * The new company of the user.\n   *\n   * @example Acme corporation\n   */\n  company?: string;\n  /**\n   * The publicly visible email address of the user.\n   *\n   * @example omar@example.com\n   */\n  email?: string;\n  /**\n   * The new hiring availability of the user.\n   */\n  hireable?: boolean;\n  /**\n   * The new location of the user.\n   *\n   * @example Berlin, Germany\n   */\n  location?: string;\n  /**\n   * The new name of the user.\n   *\n   * @example Omar Jahandar\n   */\n  name?: string;\n  /**\n   * The new Twitter username of the user.\n   *\n   * @example therealomarj\n   */\n  twitter_username?: string | null;\n};\n\nexport type UsersUpdateAuthenticatedVariables = {\n  body?: UsersUpdateAuthenticatedRequestBody;\n} & GithubContext['fetcherOptions'];\n\n/**\n * **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API.\n */\nexport const fetchUsersUpdateAuthenticated = (\n  variables: UsersUpdateAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PrivateUser,\n    UsersUpdateAuthenticatedError,\n    UsersUpdateAuthenticatedRequestBody,\n    {},\n    {},\n    {}\n  >({ url: '/user', method: 'patch', ...variables, signal });\n\n/**\n * **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API.\n */\nexport const useUsersUpdateAuthenticated = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.PrivateUser,\n      UsersUpdateAuthenticatedError,\n      UsersUpdateAuthenticatedVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.PrivateUser,\n    UsersUpdateAuthenticatedError,\n    UsersUpdateAuthenticatedVariables\n  >(\n    (variables: UsersUpdateAuthenticatedVariables) =>\n      fetchUsersUpdateAuthenticated({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type UsersListBlockedByAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n>;\n\nexport type UsersListBlockedByAuthenticatedResponse = Schemas.SimpleUser[];\n\nexport type UsersListBlockedByAuthenticatedVariables =\n  GithubContext['fetcherOptions'];\n\n/**\n * List the users you've blocked on your personal account.\n */\nexport const fetchUsersListBlockedByAuthenticated = (\n  variables: UsersListBlockedByAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersListBlockedByAuthenticatedResponse,\n    UsersListBlockedByAuthenticatedError,\n    undefined,\n    {},\n    {},\n    {}\n  >({ url: '/user/blocks', method: 'get', ...variables, signal });\n\n/**\n * List the users you've blocked on your personal account.\n */\nexport const useUsersListBlockedByAuthenticated = <\n  TData = UsersListBlockedByAuthenticatedResponse,\n>(\n  variables: UsersListBlockedByAuthenticatedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      UsersListBlockedByAuthenticatedResponse,\n      UsersListBlockedByAuthenticatedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    UsersListBlockedByAuthenticatedResponse,\n    UsersListBlockedByAuthenticatedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/blocks',\n      operationId: 'usersListBlockedByAuthenticated',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersListBlockedByAuthenticated(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersUnblockPathParams = {\n  username: string;\n};\n\nexport type UsersUnblockError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type UsersUnblockVariables = {\n  pathParams: UsersUnblockPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchUsersUnblock = (\n  variables: UsersUnblockVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    UsersUnblockError,\n    undefined,\n    {},\n    {},\n    UsersUnblockPathParams\n  >({ url: '/user/blocks/{username}', method: 'delete', ...variables, signal });\n\nexport const useUsersUnblock = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      UsersUnblockError,\n      UsersUnblockVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    UsersUnblockError,\n    UsersUnblockVariables\n  >(\n    (variables: UsersUnblockVariables) =>\n      fetchUsersUnblock({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type UsersCheckBlockedPathParams = {\n  username: string;\n};\n\nexport type UsersCheckBlockedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Schemas.BasicError;\n    }\n>;\n\nexport type UsersCheckBlockedVariables = {\n  pathParams: UsersCheckBlockedPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchUsersCheckBlocked = (\n  variables: UsersCheckBlockedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    UsersCheckBlockedError,\n    undefined,\n    {},\n    {},\n    UsersCheckBlockedPathParams\n  >({ url: '/user/blocks/{username}', method: 'get', ...variables, signal });\n\nexport const useUsersCheckBlocked = <TData = undefined>(\n  variables: UsersCheckBlockedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<undefined, UsersCheckBlockedError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<undefined, UsersCheckBlockedError, TData>(\n    queryKeyFn({\n      path: '/user/blocks/{username}',\n      operationId: 'usersCheckBlocked',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersCheckBlocked({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersBlockPathParams = {\n  username: string;\n};\n\nexport type UsersBlockError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type UsersBlockVariables = {\n  pathParams: UsersBlockPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchUsersBlock = (\n  variables: UsersBlockVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    UsersBlockError,\n    undefined,\n    {},\n    {},\n    UsersBlockPathParams\n  >({ url: '/user/blocks/{username}', method: 'put', ...variables, signal });\n\nexport const useUsersBlock = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      UsersBlockError,\n      UsersBlockVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    UsersBlockError,\n    UsersBlockVariables\n  >(\n    (variables: UsersBlockVariables) =>\n      fetchUsersBlock({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type UsersSetPrimaryEmailVisibilityForAuthenticatedError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n    | {\n        status: 422;\n        payload: Responses.ValidationFailed;\n      }\n  >;\n\nexport type UsersSetPrimaryEmailVisibilityForAuthenticatedResponse =\n  Schemas.Email[];\n\nexport type UsersSetPrimaryEmailVisibilityForAuthenticatedRequestBody = {\n  /**\n   * An email address associated with the GitHub user account to manage.\n   *\n   * @example org@example.com\n   */\n  email: string;\n  /**\n   * Denotes whether an email is publically visible.\n   */\n  visibility: 'public' | 'private';\n};\n\nexport type UsersSetPrimaryEmailVisibilityForAuthenticatedVariables = {\n  body: UsersSetPrimaryEmailVisibilityForAuthenticatedRequestBody;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Sets the visibility for your primary email addresses.\n */\nexport const fetchUsersSetPrimaryEmailVisibilityForAuthenticated = (\n  variables: UsersSetPrimaryEmailVisibilityForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersSetPrimaryEmailVisibilityForAuthenticatedResponse,\n    UsersSetPrimaryEmailVisibilityForAuthenticatedError,\n    UsersSetPrimaryEmailVisibilityForAuthenticatedRequestBody,\n    {},\n    {},\n    {}\n  >({ url: '/user/email/visibility', method: 'patch', ...variables, signal });\n\n/**\n * Sets the visibility for your primary email addresses.\n */\nexport const useUsersSetPrimaryEmailVisibilityForAuthenticated = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      UsersSetPrimaryEmailVisibilityForAuthenticatedResponse,\n      UsersSetPrimaryEmailVisibilityForAuthenticatedError,\n      UsersSetPrimaryEmailVisibilityForAuthenticatedVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    UsersSetPrimaryEmailVisibilityForAuthenticatedResponse,\n    UsersSetPrimaryEmailVisibilityForAuthenticatedError,\n    UsersSetPrimaryEmailVisibilityForAuthenticatedVariables\n  >(\n    (variables: UsersSetPrimaryEmailVisibilityForAuthenticatedVariables) =>\n      fetchUsersSetPrimaryEmailVisibilityForAuthenticated({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type UsersDeleteEmailForAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type UsersDeleteEmailForAuthenticatedVariables = {\n  body?:\n    | {\n        /**\n         * Email addresses associated with the GitHub user account.\n         */\n        emails: string[];\n      }\n    | string[]\n    | string;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This endpoint is accessible with the `user` scope.\n */\nexport const fetchUsersDeleteEmailForAuthenticated = (\n  variables: UsersDeleteEmailForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    UsersDeleteEmailForAuthenticatedError,\n    | {\n        /**\n         * Email addresses associated with the GitHub user account.\n         */\n        emails: string[];\n      }\n    | string[]\n    | string,\n    {},\n    {},\n    {}\n  >({ url: '/user/emails', method: 'delete', ...variables, signal });\n\n/**\n * This endpoint is accessible with the `user` scope.\n */\nexport const useUsersDeleteEmailForAuthenticated = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      UsersDeleteEmailForAuthenticatedError,\n      UsersDeleteEmailForAuthenticatedVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    UsersDeleteEmailForAuthenticatedError,\n    UsersDeleteEmailForAuthenticatedVariables\n  >(\n    (variables: UsersDeleteEmailForAuthenticatedVariables) =>\n      fetchUsersDeleteEmailForAuthenticated({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type UsersListEmailsForAuthenticatedQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type UsersListEmailsForAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type UsersListEmailsForAuthenticatedResponse = Schemas.Email[];\n\nexport type UsersListEmailsForAuthenticatedVariables = {\n  queryParams?: UsersListEmailsForAuthenticatedQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope.\n */\nexport const fetchUsersListEmailsForAuthenticated = (\n  variables: UsersListEmailsForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersListEmailsForAuthenticatedResponse,\n    UsersListEmailsForAuthenticatedError,\n    undefined,\n    {},\n    UsersListEmailsForAuthenticatedQueryParams,\n    {}\n  >({ url: '/user/emails', method: 'get', ...variables, signal });\n\n/**\n * Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope.\n */\nexport const useUsersListEmailsForAuthenticated = <\n  TData = UsersListEmailsForAuthenticatedResponse,\n>(\n  variables: UsersListEmailsForAuthenticatedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      UsersListEmailsForAuthenticatedResponse,\n      UsersListEmailsForAuthenticatedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    UsersListEmailsForAuthenticatedResponse,\n    UsersListEmailsForAuthenticatedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/emails',\n      operationId: 'usersListEmailsForAuthenticated',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersListEmailsForAuthenticated(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersAddEmailForAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type UsersAddEmailForAuthenticatedResponse = Schemas.Email[];\n\nexport type UsersAddEmailForAuthenticatedVariables = {\n  body?:\n    | {\n        /**\n         * Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key.\n         */\n        emails: string[];\n      }\n    | string[]\n    | string;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This endpoint is accessible with the `user` scope.\n */\nexport const fetchUsersAddEmailForAuthenticated = (\n  variables: UsersAddEmailForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersAddEmailForAuthenticatedResponse,\n    UsersAddEmailForAuthenticatedError,\n    | {\n        /**\n         * Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key.\n         */\n        emails: string[];\n      }\n    | string[]\n    | string,\n    {},\n    {},\n    {}\n  >({ url: '/user/emails', method: 'post', ...variables, signal });\n\n/**\n * This endpoint is accessible with the `user` scope.\n */\nexport const useUsersAddEmailForAuthenticated = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      UsersAddEmailForAuthenticatedResponse,\n      UsersAddEmailForAuthenticatedError,\n      UsersAddEmailForAuthenticatedVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    UsersAddEmailForAuthenticatedResponse,\n    UsersAddEmailForAuthenticatedError,\n    UsersAddEmailForAuthenticatedVariables\n  >(\n    (variables: UsersAddEmailForAuthenticatedVariables) =>\n      fetchUsersAddEmailForAuthenticated({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type UsersListFollowersForAuthenticatedUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type UsersListFollowersForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type UsersListFollowersForAuthenticatedUserResponse =\n  Schemas.SimpleUser[];\n\nexport type UsersListFollowersForAuthenticatedUserVariables = {\n  queryParams?: UsersListFollowersForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the people following the authenticated user.\n */\nexport const fetchUsersListFollowersForAuthenticatedUser = (\n  variables: UsersListFollowersForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersListFollowersForAuthenticatedUserResponse,\n    UsersListFollowersForAuthenticatedUserError,\n    undefined,\n    {},\n    UsersListFollowersForAuthenticatedUserQueryParams,\n    {}\n  >({ url: '/user/followers', method: 'get', ...variables, signal });\n\n/**\n * Lists the people following the authenticated user.\n */\nexport const useUsersListFollowersForAuthenticatedUser = <\n  TData = UsersListFollowersForAuthenticatedUserResponse,\n>(\n  variables: UsersListFollowersForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      UsersListFollowersForAuthenticatedUserResponse,\n      UsersListFollowersForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    UsersListFollowersForAuthenticatedUserResponse,\n    UsersListFollowersForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/followers',\n      operationId: 'usersListFollowersForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersListFollowersForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersListFollowedByAuthenticatedQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type UsersListFollowedByAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type UsersListFollowedByAuthenticatedResponse = Schemas.SimpleUser[];\n\nexport type UsersListFollowedByAuthenticatedVariables = {\n  queryParams?: UsersListFollowedByAuthenticatedQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the people who the authenticated user follows.\n */\nexport const fetchUsersListFollowedByAuthenticated = (\n  variables: UsersListFollowedByAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersListFollowedByAuthenticatedResponse,\n    UsersListFollowedByAuthenticatedError,\n    undefined,\n    {},\n    UsersListFollowedByAuthenticatedQueryParams,\n    {}\n  >({ url: '/user/following', method: 'get', ...variables, signal });\n\n/**\n * Lists the people who the authenticated user follows.\n */\nexport const useUsersListFollowedByAuthenticated = <\n  TData = UsersListFollowedByAuthenticatedResponse,\n>(\n  variables: UsersListFollowedByAuthenticatedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      UsersListFollowedByAuthenticatedResponse,\n      UsersListFollowedByAuthenticatedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    UsersListFollowedByAuthenticatedResponse,\n    UsersListFollowedByAuthenticatedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/following',\n      operationId: 'usersListFollowedByAuthenticated',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersListFollowedByAuthenticated(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersUnfollowPathParams = {\n  username: string;\n};\n\nexport type UsersUnfollowError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type UsersUnfollowVariables = {\n  pathParams: UsersUnfollowPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope.\n */\nexport const fetchUsersUnfollow = (\n  variables: UsersUnfollowVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    UsersUnfollowError,\n    undefined,\n    {},\n    {},\n    UsersUnfollowPathParams\n  >({\n    url: '/user/following/{username}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope.\n */\nexport const useUsersUnfollow = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      UsersUnfollowError,\n      UsersUnfollowVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    UsersUnfollowError,\n    UsersUnfollowVariables\n  >(\n    (variables: UsersUnfollowVariables) =>\n      fetchUsersUnfollow({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type UsersCheckPersonIsFollowedByAuthenticatedPathParams = {\n  username: string;\n};\n\nexport type UsersCheckPersonIsFollowedByAuthenticatedError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Schemas.BasicError;\n      }\n  >;\n\nexport type UsersCheckPersonIsFollowedByAuthenticatedVariables = {\n  pathParams: UsersCheckPersonIsFollowedByAuthenticatedPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchUsersCheckPersonIsFollowedByAuthenticated = (\n  variables: UsersCheckPersonIsFollowedByAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    UsersCheckPersonIsFollowedByAuthenticatedError,\n    undefined,\n    {},\n    {},\n    UsersCheckPersonIsFollowedByAuthenticatedPathParams\n  >({ url: '/user/following/{username}', method: 'get', ...variables, signal });\n\nexport const useUsersCheckPersonIsFollowedByAuthenticated = <TData = undefined>(\n  variables: UsersCheckPersonIsFollowedByAuthenticatedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      UsersCheckPersonIsFollowedByAuthenticatedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    UsersCheckPersonIsFollowedByAuthenticatedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/following/{username}',\n      operationId: 'usersCheckPersonIsFollowedByAuthenticated',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersCheckPersonIsFollowedByAuthenticated(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersFollowPathParams = {\n  username: string;\n};\n\nexport type UsersFollowError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type UsersFollowVariables = {\n  pathParams: UsersFollowPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n *\n * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope.\n */\nexport const fetchUsersFollow = (\n  variables: UsersFollowVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    UsersFollowError,\n    undefined,\n    {},\n    {},\n    UsersFollowPathParams\n  >({ url: '/user/following/{username}', method: 'put', ...variables, signal });\n\n/**\n * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n *\n * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope.\n */\nexport const useUsersFollow = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      UsersFollowError,\n      UsersFollowVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    UsersFollowError,\n    UsersFollowVariables\n  >(\n    (variables: UsersFollowVariables) =>\n      fetchUsersFollow({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type UsersListGpgKeysForAuthenticatedQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type UsersListGpgKeysForAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type UsersListGpgKeysForAuthenticatedResponse = Schemas.GpgKey[];\n\nexport type UsersListGpgKeysForAuthenticatedVariables = {\n  queryParams?: UsersListGpgKeysForAuthenticatedQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchUsersListGpgKeysForAuthenticated = (\n  variables: UsersListGpgKeysForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersListGpgKeysForAuthenticatedResponse,\n    UsersListGpgKeysForAuthenticatedError,\n    undefined,\n    {},\n    UsersListGpgKeysForAuthenticatedQueryParams,\n    {}\n  >({ url: '/user/gpg_keys', method: 'get', ...variables, signal });\n\n/**\n * Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useUsersListGpgKeysForAuthenticated = <\n  TData = UsersListGpgKeysForAuthenticatedResponse,\n>(\n  variables: UsersListGpgKeysForAuthenticatedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      UsersListGpgKeysForAuthenticatedResponse,\n      UsersListGpgKeysForAuthenticatedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    UsersListGpgKeysForAuthenticatedResponse,\n    UsersListGpgKeysForAuthenticatedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/gpg_keys',\n      operationId: 'usersListGpgKeysForAuthenticated',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersListGpgKeysForAuthenticated(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersCreateGpgKeyForAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type UsersCreateGpgKeyForAuthenticatedRequestBody = {\n  /**\n   * A GPG key in ASCII-armored format.\n   */\n  armored_public_key: string;\n};\n\nexport type UsersCreateGpgKeyForAuthenticatedVariables = {\n  body: UsersCreateGpgKeyForAuthenticatedRequestBody;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchUsersCreateGpgKeyForAuthenticated = (\n  variables: UsersCreateGpgKeyForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GpgKey,\n    UsersCreateGpgKeyForAuthenticatedError,\n    UsersCreateGpgKeyForAuthenticatedRequestBody,\n    {},\n    {},\n    {}\n  >({ url: '/user/gpg_keys', method: 'post', ...variables, signal });\n\n/**\n * Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useUsersCreateGpgKeyForAuthenticated = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.GpgKey,\n      UsersCreateGpgKeyForAuthenticatedError,\n      UsersCreateGpgKeyForAuthenticatedVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.GpgKey,\n    UsersCreateGpgKeyForAuthenticatedError,\n    UsersCreateGpgKeyForAuthenticatedVariables\n  >(\n    (variables: UsersCreateGpgKeyForAuthenticatedVariables) =>\n      fetchUsersCreateGpgKeyForAuthenticated({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type UsersDeleteGpgKeyForAuthenticatedPathParams = {\n  /**\n   * gpg_key_id parameter\n   */\n  gpgKeyId: number;\n};\n\nexport type UsersDeleteGpgKeyForAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type UsersDeleteGpgKeyForAuthenticatedVariables = {\n  pathParams: UsersDeleteGpgKeyForAuthenticatedPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchUsersDeleteGpgKeyForAuthenticated = (\n  variables: UsersDeleteGpgKeyForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    UsersDeleteGpgKeyForAuthenticatedError,\n    undefined,\n    {},\n    {},\n    UsersDeleteGpgKeyForAuthenticatedPathParams\n  >({\n    url: '/user/gpg_keys/{gpgKeyId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useUsersDeleteGpgKeyForAuthenticated = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      UsersDeleteGpgKeyForAuthenticatedError,\n      UsersDeleteGpgKeyForAuthenticatedVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    UsersDeleteGpgKeyForAuthenticatedError,\n    UsersDeleteGpgKeyForAuthenticatedVariables\n  >(\n    (variables: UsersDeleteGpgKeyForAuthenticatedVariables) =>\n      fetchUsersDeleteGpgKeyForAuthenticated({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type UsersGetGpgKeyForAuthenticatedPathParams = {\n  /**\n   * gpg_key_id parameter\n   */\n  gpgKeyId: number;\n};\n\nexport type UsersGetGpgKeyForAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type UsersGetGpgKeyForAuthenticatedVariables = {\n  pathParams: UsersGetGpgKeyForAuthenticatedPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchUsersGetGpgKeyForAuthenticated = (\n  variables: UsersGetGpgKeyForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.GpgKey,\n    UsersGetGpgKeyForAuthenticatedError,\n    undefined,\n    {},\n    {},\n    UsersGetGpgKeyForAuthenticatedPathParams\n  >({ url: '/user/gpg_keys/{gpgKeyId}', method: 'get', ...variables, signal });\n\n/**\n * View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useUsersGetGpgKeyForAuthenticated = <TData = Schemas.GpgKey>(\n  variables: UsersGetGpgKeyForAuthenticatedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.GpgKey,\n      UsersGetGpgKeyForAuthenticatedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.GpgKey,\n    UsersGetGpgKeyForAuthenticatedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/gpg_keys/{gpg_key_id}',\n      operationId: 'usersGetGpgKeyForAuthenticated',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersGetGpgKeyForAuthenticated(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsListInstallationsForAuthenticatedUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type AppsListInstallationsForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 415;\n        payload: Responses.PreviewHeaderMissing;\n      }\n  >;\n\nexport type AppsListInstallationsForAuthenticatedUserResponse = {\n  installations: Schemas.Installation[];\n  total_count: number;\n};\n\nexport type AppsListInstallationsForAuthenticatedUserVariables = {\n  queryParams?: AppsListInstallationsForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.\n *\n * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint.\n *\n * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.\n *\n * You can find the permissions for the installation under the `permissions` key.\n */\nexport const fetchAppsListInstallationsForAuthenticatedUser = (\n  variables: AppsListInstallationsForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AppsListInstallationsForAuthenticatedUserResponse,\n    AppsListInstallationsForAuthenticatedUserError,\n    undefined,\n    {},\n    AppsListInstallationsForAuthenticatedUserQueryParams,\n    {}\n  >({ url: '/user/installations', method: 'get', ...variables, signal });\n\n/**\n * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.\n *\n * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint.\n *\n * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.\n *\n * You can find the permissions for the installation under the `permissions` key.\n */\nexport const useAppsListInstallationsForAuthenticatedUser = <\n  TData = AppsListInstallationsForAuthenticatedUserResponse,\n>(\n  variables: AppsListInstallationsForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      AppsListInstallationsForAuthenticatedUserResponse,\n      AppsListInstallationsForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    AppsListInstallationsForAuthenticatedUserResponse,\n    AppsListInstallationsForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/installations',\n      operationId: 'appsListInstallationsForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsListInstallationsForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsListInstallationReposForAuthenticatedUserPathParams = {\n  /**\n   * installation_id parameter\n   */\n  installationId: number;\n};\n\nexport type AppsListInstallationReposForAuthenticatedUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type AppsListInstallationReposForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n  >;\n\nexport type AppsListInstallationReposForAuthenticatedUserResponse = {\n  repositories: Schemas.Repository[];\n  repository_selection?: string;\n  total_count: number;\n};\n\nexport type AppsListInstallationReposForAuthenticatedUserVariables = {\n  pathParams: AppsListInstallationReposForAuthenticatedUserPathParams;\n  queryParams?: AppsListInstallationReposForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation.\n *\n * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.\n *\n * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint.\n *\n * The access the user has to each repository is included in the hash under the `permissions` key.\n */\nexport const fetchAppsListInstallationReposForAuthenticatedUser = (\n  variables: AppsListInstallationReposForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AppsListInstallationReposForAuthenticatedUserResponse,\n    AppsListInstallationReposForAuthenticatedUserError,\n    undefined,\n    {},\n    AppsListInstallationReposForAuthenticatedUserQueryParams,\n    AppsListInstallationReposForAuthenticatedUserPathParams\n  >({\n    url: '/user/installations/{installationId}/repositories',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation.\n *\n * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.\n *\n * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint.\n *\n * The access the user has to each repository is included in the hash under the `permissions` key.\n */\nexport const useAppsListInstallationReposForAuthenticatedUser = <\n  TData = AppsListInstallationReposForAuthenticatedUserResponse,\n>(\n  variables: AppsListInstallationReposForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      AppsListInstallationReposForAuthenticatedUserResponse,\n      AppsListInstallationReposForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    AppsListInstallationReposForAuthenticatedUserResponse,\n    AppsListInstallationReposForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/installations/{installation_id}/repositories',\n      operationId: 'appsListInstallationReposForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsListInstallationReposForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsRemoveRepoFromInstallationPathParams = {\n  /**\n   * installation_id parameter\n   */\n  installationId: number;\n  repositoryId: number;\n};\n\nexport type AppsRemoveRepoFromInstallationError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type AppsRemoveRepoFromInstallationVariables = {\n  pathParams: AppsRemoveRepoFromInstallationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Remove a single repository from an installation. The authenticated user must have admin access to the repository.\n *\n * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint.\n */\nexport const fetchAppsRemoveRepoFromInstallation = (\n  variables: AppsRemoveRepoFromInstallationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    AppsRemoveRepoFromInstallationError,\n    undefined,\n    {},\n    {},\n    AppsRemoveRepoFromInstallationPathParams\n  >({\n    url: '/user/installations/{installationId}/repositories/{repositoryId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Remove a single repository from an installation. The authenticated user must have admin access to the repository.\n *\n * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint.\n */\nexport const useAppsRemoveRepoFromInstallation = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      AppsRemoveRepoFromInstallationError,\n      AppsRemoveRepoFromInstallationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    AppsRemoveRepoFromInstallationError,\n    AppsRemoveRepoFromInstallationVariables\n  >(\n    (variables: AppsRemoveRepoFromInstallationVariables) =>\n      fetchAppsRemoveRepoFromInstallation({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type AppsAddRepoToInstallationPathParams = {\n  /**\n   * installation_id parameter\n   */\n  installationId: number;\n  repositoryId: number;\n};\n\nexport type AppsAddRepoToInstallationError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type AppsAddRepoToInstallationVariables = {\n  pathParams: AppsAddRepoToInstallationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Add a single repository to an installation. The authenticated user must have admin access to the repository.\n *\n * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint.\n */\nexport const fetchAppsAddRepoToInstallation = (\n  variables: AppsAddRepoToInstallationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    AppsAddRepoToInstallationError,\n    undefined,\n    {},\n    {},\n    AppsAddRepoToInstallationPathParams\n  >({\n    url: '/user/installations/{installationId}/repositories/{repositoryId}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Add a single repository to an installation. The authenticated user must have admin access to the repository.\n *\n * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint.\n */\nexport const useAppsAddRepoToInstallation = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      AppsAddRepoToInstallationError,\n      AppsAddRepoToInstallationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    AppsAddRepoToInstallationError,\n    AppsAddRepoToInstallationVariables\n  >(\n    (variables: AppsAddRepoToInstallationVariables) =>\n      fetchAppsAddRepoToInstallation({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type InteractionsRemoveRestrictionsForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type InteractionsRemoveRestrictionsForAuthenticatedUserVariables =\n  GithubContext['fetcherOptions'];\n\n/**\n * Removes any interaction restrictions from your public repositories.\n */\nexport const fetchInteractionsRemoveRestrictionsForAuthenticatedUser = (\n  variables: InteractionsRemoveRestrictionsForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    InteractionsRemoveRestrictionsForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    {}\n  >({\n    url: '/user/interaction-limits',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Removes any interaction restrictions from your public repositories.\n */\nexport const useInteractionsRemoveRestrictionsForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      InteractionsRemoveRestrictionsForAuthenticatedUserError,\n      InteractionsRemoveRestrictionsForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    InteractionsRemoveRestrictionsForAuthenticatedUserError,\n    InteractionsRemoveRestrictionsForAuthenticatedUserVariables\n  >(\n    (variables: InteractionsRemoveRestrictionsForAuthenticatedUserVariables) =>\n      fetchInteractionsRemoveRestrictionsForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type InteractionsGetRestrictionsForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type InteractionsGetRestrictionsForAuthenticatedUserVariables =\n  GithubContext['fetcherOptions'];\n\n/**\n * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. If there are no restrictions, you will see an empty response.\n */\nexport const fetchInteractionsGetRestrictionsForAuthenticatedUser = (\n  variables: InteractionsGetRestrictionsForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.InteractionLimitResponse,\n    InteractionsGetRestrictionsForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    {}\n  >({ url: '/user/interaction-limits', method: 'get', ...variables, signal });\n\n/**\n * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. If there are no restrictions, you will see an empty response.\n */\nexport const useInteractionsGetRestrictionsForAuthenticatedUser = <\n  TData = Schemas.InteractionLimitResponse,\n>(\n  variables: InteractionsGetRestrictionsForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.InteractionLimitResponse,\n      InteractionsGetRestrictionsForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.InteractionLimitResponse,\n    InteractionsGetRestrictionsForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/interaction-limits',\n      operationId: 'interactionsGetRestrictionsForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchInteractionsGetRestrictionsForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type InteractionsSetRestrictionsForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<{\n    status: 422;\n    payload: Responses.ValidationFailed;\n  }>;\n\nexport type InteractionsSetRestrictionsForAuthenticatedUserVariables = {\n  body: Schemas.InteractionLimit;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user.\n */\nexport const fetchInteractionsSetRestrictionsForAuthenticatedUser = (\n  variables: InteractionsSetRestrictionsForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.InteractionLimitResponse,\n    InteractionsSetRestrictionsForAuthenticatedUserError,\n    Schemas.InteractionLimit,\n    {},\n    {},\n    {}\n  >({ url: '/user/interaction-limits', method: 'put', ...variables, signal });\n\n/**\n * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user.\n */\nexport const useInteractionsSetRestrictionsForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.InteractionLimitResponse,\n      InteractionsSetRestrictionsForAuthenticatedUserError,\n      InteractionsSetRestrictionsForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.InteractionLimitResponse,\n    InteractionsSetRestrictionsForAuthenticatedUserError,\n    InteractionsSetRestrictionsForAuthenticatedUserVariables\n  >(\n    (variables: InteractionsSetRestrictionsForAuthenticatedUserVariables) =>\n      fetchInteractionsSetRestrictionsForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type IssuesListForAuthenticatedUserQueryParams = {\n  /**\n   * Indicates which sorts of issues to return. Can be one of:\n   * \\* `assigned`: Issues assigned to you\n   * \\* `created`: Issues created by you\n   * \\* `mentioned`: Issues mentioning you\n   * \\* `subscribed`: Issues you're subscribed to updates for\n   * \\* `all`: All issues the authenticated user can see, regardless of participation or creation\n   *\n   * @default assigned\n   */\n  filter?:\n    | 'assigned'\n    | 'created'\n    | 'mentioned'\n    | 'subscribed'\n    | 'repos'\n    | 'all';\n  /**\n   * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`.\n   *\n   * @default open\n   */\n  state?: 'open' | 'closed' | 'all';\n  /**\n   * A list of comma separated label names. Example: `bug,ui,@high`\n   */\n  labels?: string;\n  /**\n   * What to sort results by. Can be either `created`, `updated`, `comments`.\n   *\n   * @default created\n   */\n  sort?: 'created' | 'updated' | 'comments';\n  /**\n   * One of `asc` (ascending) or `desc` (descending).\n   *\n   * @default desc\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type IssuesListForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type IssuesListForAuthenticatedUserResponse = Schemas.Issue[];\n\nexport type IssuesListForAuthenticatedUserVariables = {\n  queryParams?: IssuesListForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List issues across owned and member repositories assigned to the authenticated user.\n *\n * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\n * reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\n * the `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\n * request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.\n */\nexport const fetchIssuesListForAuthenticatedUser = (\n  variables: IssuesListForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    IssuesListForAuthenticatedUserResponse,\n    IssuesListForAuthenticatedUserError,\n    undefined,\n    {},\n    IssuesListForAuthenticatedUserQueryParams,\n    {}\n  >({ url: '/user/issues', method: 'get', ...variables, signal });\n\n/**\n * List issues across owned and member repositories assigned to the authenticated user.\n *\n * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this\n * reason, \"Issues\" endpoints may return both issues and pull requests in the response. You can identify pull requests by\n * the `pull_request` key. Be aware that the `id` of a pull request returned from \"Issues\" endpoints will be an _issue id_. To find out the pull\n * request id, use the \"[List pull requests](https://docs.github.com/rest/reference/pulls#list-pull-requests)\" endpoint.\n */\nexport const useIssuesListForAuthenticatedUser = <\n  TData = IssuesListForAuthenticatedUserResponse,\n>(\n  variables: IssuesListForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      IssuesListForAuthenticatedUserResponse,\n      IssuesListForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    IssuesListForAuthenticatedUserResponse,\n    IssuesListForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/issues',\n      operationId: 'issuesListForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchIssuesListForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersListPublicSshKeysForAuthenticatedQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type UsersListPublicSshKeysForAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type UsersListPublicSshKeysForAuthenticatedResponse = Schemas.Key[];\n\nexport type UsersListPublicSshKeysForAuthenticatedVariables = {\n  queryParams?: UsersListPublicSshKeysForAuthenticatedQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchUsersListPublicSshKeysForAuthenticated = (\n  variables: UsersListPublicSshKeysForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersListPublicSshKeysForAuthenticatedResponse,\n    UsersListPublicSshKeysForAuthenticatedError,\n    undefined,\n    {},\n    UsersListPublicSshKeysForAuthenticatedQueryParams,\n    {}\n  >({ url: '/user/keys', method: 'get', ...variables, signal });\n\n/**\n * Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useUsersListPublicSshKeysForAuthenticated = <\n  TData = UsersListPublicSshKeysForAuthenticatedResponse,\n>(\n  variables: UsersListPublicSshKeysForAuthenticatedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      UsersListPublicSshKeysForAuthenticatedResponse,\n      UsersListPublicSshKeysForAuthenticatedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    UsersListPublicSshKeysForAuthenticatedResponse,\n    UsersListPublicSshKeysForAuthenticatedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/keys',\n      operationId: 'usersListPublicSshKeysForAuthenticated',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersListPublicSshKeysForAuthenticated(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersCreatePublicSshKeyForAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type UsersCreatePublicSshKeyForAuthenticatedRequestBody = {\n  /**\n   * The public SSH key to add to your GitHub account.\n   *\n   * @pattern ^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521)\n   */\n  key: string;\n  /**\n   * A descriptive name for the new key.\n   *\n   * @example Personal MacBook Air\n   */\n  title?: string;\n};\n\nexport type UsersCreatePublicSshKeyForAuthenticatedVariables = {\n  body: UsersCreatePublicSshKeyForAuthenticatedRequestBody;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchUsersCreatePublicSshKeyForAuthenticated = (\n  variables: UsersCreatePublicSshKeyForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Key,\n    UsersCreatePublicSshKeyForAuthenticatedError,\n    UsersCreatePublicSshKeyForAuthenticatedRequestBody,\n    {},\n    {},\n    {}\n  >({ url: '/user/keys', method: 'post', ...variables, signal });\n\n/**\n * Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useUsersCreatePublicSshKeyForAuthenticated = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Key,\n      UsersCreatePublicSshKeyForAuthenticatedError,\n      UsersCreatePublicSshKeyForAuthenticatedVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Key,\n    UsersCreatePublicSshKeyForAuthenticatedError,\n    UsersCreatePublicSshKeyForAuthenticatedVariables\n  >(\n    (variables: UsersCreatePublicSshKeyForAuthenticatedVariables) =>\n      fetchUsersCreatePublicSshKeyForAuthenticated({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type UsersDeletePublicSshKeyForAuthenticatedPathParams = {\n  /**\n   * key_id parameter\n   */\n  keyId: number;\n};\n\nexport type UsersDeletePublicSshKeyForAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type UsersDeletePublicSshKeyForAuthenticatedVariables = {\n  pathParams: UsersDeletePublicSshKeyForAuthenticatedPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchUsersDeletePublicSshKeyForAuthenticated = (\n  variables: UsersDeletePublicSshKeyForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    UsersDeletePublicSshKeyForAuthenticatedError,\n    undefined,\n    {},\n    {},\n    UsersDeletePublicSshKeyForAuthenticatedPathParams\n  >({ url: '/user/keys/{keyId}', method: 'delete', ...variables, signal });\n\n/**\n * Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useUsersDeletePublicSshKeyForAuthenticated = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      UsersDeletePublicSshKeyForAuthenticatedError,\n      UsersDeletePublicSshKeyForAuthenticatedVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    UsersDeletePublicSshKeyForAuthenticatedError,\n    UsersDeletePublicSshKeyForAuthenticatedVariables\n  >(\n    (variables: UsersDeletePublicSshKeyForAuthenticatedVariables) =>\n      fetchUsersDeletePublicSshKeyForAuthenticated({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type UsersGetPublicSshKeyForAuthenticatedPathParams = {\n  /**\n   * key_id parameter\n   */\n  keyId: number;\n};\n\nexport type UsersGetPublicSshKeyForAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type UsersGetPublicSshKeyForAuthenticatedVariables = {\n  pathParams: UsersGetPublicSshKeyForAuthenticatedPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const fetchUsersGetPublicSshKeyForAuthenticated = (\n  variables: UsersGetPublicSshKeyForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Key,\n    UsersGetPublicSshKeyForAuthenticatedError,\n    undefined,\n    {},\n    {},\n    UsersGetPublicSshKeyForAuthenticatedPathParams\n  >({ url: '/user/keys/{keyId}', method: 'get', ...variables, signal });\n\n/**\n * View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\n */\nexport const useUsersGetPublicSshKeyForAuthenticated = <TData = Schemas.Key>(\n  variables: UsersGetPublicSshKeyForAuthenticatedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Key,\n      UsersGetPublicSshKeyForAuthenticatedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Key,\n    UsersGetPublicSshKeyForAuthenticatedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/keys/{key_id}',\n      operationId: 'usersGetPublicSshKeyForAuthenticated',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersGetPublicSshKeyForAuthenticated(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsListSubscriptionsForAuthenticatedUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type AppsListSubscriptionsForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n  >;\n\nexport type AppsListSubscriptionsForAuthenticatedUserResponse =\n  Schemas.UserMarketplacePurchase[];\n\nexport type AppsListSubscriptionsForAuthenticatedUserVariables = {\n  queryParams?: AppsListSubscriptionsForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/).\n */\nexport const fetchAppsListSubscriptionsForAuthenticatedUser = (\n  variables: AppsListSubscriptionsForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AppsListSubscriptionsForAuthenticatedUserResponse,\n    AppsListSubscriptionsForAuthenticatedUserError,\n    undefined,\n    {},\n    AppsListSubscriptionsForAuthenticatedUserQueryParams,\n    {}\n  >({\n    url: '/user/marketplace_purchases',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/).\n */\nexport const useAppsListSubscriptionsForAuthenticatedUser = <\n  TData = AppsListSubscriptionsForAuthenticatedUserResponse,\n>(\n  variables: AppsListSubscriptionsForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      AppsListSubscriptionsForAuthenticatedUserResponse,\n      AppsListSubscriptionsForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    AppsListSubscriptionsForAuthenticatedUserResponse,\n    AppsListSubscriptionsForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/marketplace_purchases',\n      operationId: 'appsListSubscriptionsForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsListSubscriptionsForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsListSubscriptionsForAuthenticatedUserStubbedQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type AppsListSubscriptionsForAuthenticatedUserStubbedError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n  >;\n\nexport type AppsListSubscriptionsForAuthenticatedUserStubbedResponse =\n  Schemas.UserMarketplacePurchase[];\n\nexport type AppsListSubscriptionsForAuthenticatedUserStubbedVariables = {\n  queryParams?: AppsListSubscriptionsForAuthenticatedUserStubbedQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/).\n */\nexport const fetchAppsListSubscriptionsForAuthenticatedUserStubbed = (\n  variables: AppsListSubscriptionsForAuthenticatedUserStubbedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    AppsListSubscriptionsForAuthenticatedUserStubbedResponse,\n    AppsListSubscriptionsForAuthenticatedUserStubbedError,\n    undefined,\n    {},\n    AppsListSubscriptionsForAuthenticatedUserStubbedQueryParams,\n    {}\n  >({\n    url: '/user/marketplace_purchases/stubbed',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/).\n */\nexport const useAppsListSubscriptionsForAuthenticatedUserStubbed = <\n  TData = AppsListSubscriptionsForAuthenticatedUserStubbedResponse,\n>(\n  variables: AppsListSubscriptionsForAuthenticatedUserStubbedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      AppsListSubscriptionsForAuthenticatedUserStubbedResponse,\n      AppsListSubscriptionsForAuthenticatedUserStubbedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    AppsListSubscriptionsForAuthenticatedUserStubbedResponse,\n    AppsListSubscriptionsForAuthenticatedUserStubbedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/marketplace_purchases/stubbed',\n      operationId: 'appsListSubscriptionsForAuthenticatedUserStubbed',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsListSubscriptionsForAuthenticatedUserStubbed(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsListMembershipsForAuthenticatedUserQueryParams = {\n  /**\n   * Indicates the state of the memberships to return. Can be either `active` or `pending`. If not specified, the API returns both active and pending memberships.\n   */\n  state?: 'active' | 'pending';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type OrgsListMembershipsForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type OrgsListMembershipsForAuthenticatedUserResponse =\n  Schemas.OrgMembership[];\n\nexport type OrgsListMembershipsForAuthenticatedUserVariables = {\n  queryParams?: OrgsListMembershipsForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchOrgsListMembershipsForAuthenticatedUser = (\n  variables: OrgsListMembershipsForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListMembershipsForAuthenticatedUserResponse,\n    OrgsListMembershipsForAuthenticatedUserError,\n    undefined,\n    {},\n    OrgsListMembershipsForAuthenticatedUserQueryParams,\n    {}\n  >({ url: '/user/memberships/orgs', method: 'get', ...variables, signal });\n\nexport const useOrgsListMembershipsForAuthenticatedUser = <\n  TData = OrgsListMembershipsForAuthenticatedUserResponse,\n>(\n  variables: OrgsListMembershipsForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListMembershipsForAuthenticatedUserResponse,\n      OrgsListMembershipsForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListMembershipsForAuthenticatedUserResponse,\n    OrgsListMembershipsForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/memberships/orgs',\n      operationId: 'orgsListMembershipsForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListMembershipsForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsGetMembershipForAuthenticatedUserPathParams = {\n  org: string;\n};\n\nexport type OrgsGetMembershipForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type OrgsGetMembershipForAuthenticatedUserVariables = {\n  pathParams: OrgsGetMembershipForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchOrgsGetMembershipForAuthenticatedUser = (\n  variables: OrgsGetMembershipForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.OrgMembership,\n    OrgsGetMembershipForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    OrgsGetMembershipForAuthenticatedUserPathParams\n  >({\n    url: '/user/memberships/orgs/{org}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useOrgsGetMembershipForAuthenticatedUser = <\n  TData = Schemas.OrgMembership,\n>(\n  variables: OrgsGetMembershipForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.OrgMembership,\n      OrgsGetMembershipForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.OrgMembership,\n    OrgsGetMembershipForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/memberships/orgs/{org}',\n      operationId: 'orgsGetMembershipForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsGetMembershipForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsUpdateMembershipForAuthenticatedUserPathParams = {\n  org: string;\n};\n\nexport type OrgsUpdateMembershipForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n    | {\n        status: 422;\n        payload: Responses.ValidationFailed;\n      }\n  >;\n\nexport type OrgsUpdateMembershipForAuthenticatedUserRequestBody = {\n  /**\n   * The state that the membership should be in. Only `\"active\"` will be accepted.\n   */\n  state: 'active';\n};\n\nexport type OrgsUpdateMembershipForAuthenticatedUserVariables = {\n  body: OrgsUpdateMembershipForAuthenticatedUserRequestBody;\n  pathParams: OrgsUpdateMembershipForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchOrgsUpdateMembershipForAuthenticatedUser = (\n  variables: OrgsUpdateMembershipForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.OrgMembership,\n    OrgsUpdateMembershipForAuthenticatedUserError,\n    OrgsUpdateMembershipForAuthenticatedUserRequestBody,\n    {},\n    {},\n    OrgsUpdateMembershipForAuthenticatedUserPathParams\n  >({\n    url: '/user/memberships/orgs/{org}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\nexport const useOrgsUpdateMembershipForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.OrgMembership,\n      OrgsUpdateMembershipForAuthenticatedUserError,\n      OrgsUpdateMembershipForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.OrgMembership,\n    OrgsUpdateMembershipForAuthenticatedUserError,\n    OrgsUpdateMembershipForAuthenticatedUserVariables\n  >(\n    (variables: OrgsUpdateMembershipForAuthenticatedUserVariables) =>\n      fetchOrgsUpdateMembershipForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type MigrationsListForAuthenticatedUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type MigrationsListForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type MigrationsListForAuthenticatedUserResponse = Schemas.Migration[];\n\nexport type MigrationsListForAuthenticatedUserVariables = {\n  queryParams?: MigrationsListForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all migrations a user has started.\n */\nexport const fetchMigrationsListForAuthenticatedUser = (\n  variables: MigrationsListForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    MigrationsListForAuthenticatedUserResponse,\n    MigrationsListForAuthenticatedUserError,\n    undefined,\n    {},\n    MigrationsListForAuthenticatedUserQueryParams,\n    {}\n  >({ url: '/user/migrations', method: 'get', ...variables, signal });\n\n/**\n * Lists all migrations a user has started.\n */\nexport const useMigrationsListForAuthenticatedUser = <\n  TData = MigrationsListForAuthenticatedUserResponse,\n>(\n  variables: MigrationsListForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      MigrationsListForAuthenticatedUserResponse,\n      MigrationsListForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    MigrationsListForAuthenticatedUserResponse,\n    MigrationsListForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/migrations',\n      operationId: 'migrationsListForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchMigrationsListForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type MigrationsStartForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type MigrationsStartForAuthenticatedUserRequestBody = {\n  /**\n   * Exclude attributes from the API response to improve performance\n   *\n   * @example repositories\n   */\n  exclude?: 'repositories'[];\n  /**\n   * Do not include attachments in the migration\n   *\n   * @example true\n   */\n  exclude_attachments?: boolean;\n  /**\n   * Lock the repositories being migrated at the start of the migration\n   *\n   * @example true\n   */\n  lock_repositories?: boolean;\n  repositories: string[];\n};\n\nexport type MigrationsStartForAuthenticatedUserVariables = {\n  body: MigrationsStartForAuthenticatedUserRequestBody;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Initiates the generation of a user migration archive.\n */\nexport const fetchMigrationsStartForAuthenticatedUser = (\n  variables: MigrationsStartForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Migration,\n    MigrationsStartForAuthenticatedUserError,\n    MigrationsStartForAuthenticatedUserRequestBody,\n    {},\n    {},\n    {}\n  >({ url: '/user/migrations', method: 'post', ...variables, signal });\n\n/**\n * Initiates the generation of a user migration archive.\n */\nexport const useMigrationsStartForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Migration,\n      MigrationsStartForAuthenticatedUserError,\n      MigrationsStartForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Migration,\n    MigrationsStartForAuthenticatedUserError,\n    MigrationsStartForAuthenticatedUserVariables\n  >(\n    (variables: MigrationsStartForAuthenticatedUserVariables) =>\n      fetchMigrationsStartForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type MigrationsGetStatusForAuthenticatedUserPathParams = {\n  /**\n   * migration_id parameter\n   */\n  migrationId: number;\n};\n\nexport type MigrationsGetStatusForAuthenticatedUserQueryParams = {\n  exclude?: string[];\n};\n\nexport type MigrationsGetStatusForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type MigrationsGetStatusForAuthenticatedUserVariables = {\n  pathParams: MigrationsGetStatusForAuthenticatedUserPathParams;\n  queryParams?: MigrationsGetStatusForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values:\n *\n * *   `pending` - the migration hasn't started yet.\n * *   `exporting` - the migration is in progress.\n * *   `exported` - the migration finished successfully.\n * *   `failed` - the migration failed.\n *\n * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive).\n */\nexport const fetchMigrationsGetStatusForAuthenticatedUser = (\n  variables: MigrationsGetStatusForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Migration,\n    MigrationsGetStatusForAuthenticatedUserError,\n    undefined,\n    {},\n    MigrationsGetStatusForAuthenticatedUserQueryParams,\n    MigrationsGetStatusForAuthenticatedUserPathParams\n  >({\n    url: '/user/migrations/{migrationId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values:\n *\n * *   `pending` - the migration hasn't started yet.\n * *   `exporting` - the migration is in progress.\n * *   `exported` - the migration finished successfully.\n * *   `failed` - the migration failed.\n *\n * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive).\n */\nexport const useMigrationsGetStatusForAuthenticatedUser = <\n  TData = Schemas.Migration,\n>(\n  variables: MigrationsGetStatusForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Migration,\n      MigrationsGetStatusForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Migration,\n    MigrationsGetStatusForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/migrations/{migration_id}',\n      operationId: 'migrationsGetStatusForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchMigrationsGetStatusForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type MigrationsDeleteArchiveForAuthenticatedUserPathParams = {\n  /**\n   * migration_id parameter\n   */\n  migrationId: number;\n};\n\nexport type MigrationsDeleteArchiveForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n  >;\n\nexport type MigrationsDeleteArchiveForAuthenticatedUserVariables = {\n  pathParams: MigrationsDeleteArchiveForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted.\n */\nexport const fetchMigrationsDeleteArchiveForAuthenticatedUser = (\n  variables: MigrationsDeleteArchiveForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    MigrationsDeleteArchiveForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    MigrationsDeleteArchiveForAuthenticatedUserPathParams\n  >({\n    url: '/user/migrations/{migrationId}/archive',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted.\n */\nexport const useMigrationsDeleteArchiveForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      MigrationsDeleteArchiveForAuthenticatedUserError,\n      MigrationsDeleteArchiveForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    MigrationsDeleteArchiveForAuthenticatedUserError,\n    MigrationsDeleteArchiveForAuthenticatedUserVariables\n  >(\n    (variables: MigrationsDeleteArchiveForAuthenticatedUserVariables) =>\n      fetchMigrationsDeleteArchiveForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type MigrationsGetArchiveForAuthenticatedUserPathParams = {\n  /**\n   * migration_id parameter\n   */\n  migrationId: number;\n};\n\nexport type MigrationsGetArchiveForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n  >;\n\nexport type MigrationsGetArchiveForAuthenticatedUserVariables = {\n  pathParams: MigrationsGetArchiveForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects:\n *\n * *   attachments\n * *   bases\n * *   commit\\_comments\n * *   issue\\_comments\n * *   issue\\_events\n * *   issues\n * *   milestones\n * *   organizations\n * *   projects\n * *   protected\\_branches\n * *   pull\\_request\\_reviews\n * *   pull\\_requests\n * *   releases\n * *   repositories\n * *   review\\_comments\n * *   schema\n * *   users\n *\n * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data.\n */\nexport const fetchMigrationsGetArchiveForAuthenticatedUser = (\n  variables: MigrationsGetArchiveForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    MigrationsGetArchiveForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    MigrationsGetArchiveForAuthenticatedUserPathParams\n  >({\n    url: '/user/migrations/{migrationId}/archive',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects:\n *\n * *   attachments\n * *   bases\n * *   commit\\_comments\n * *   issue\\_comments\n * *   issue\\_events\n * *   issues\n * *   milestones\n * *   organizations\n * *   projects\n * *   protected\\_branches\n * *   pull\\_request\\_reviews\n * *   pull\\_requests\n * *   releases\n * *   repositories\n * *   review\\_comments\n * *   schema\n * *   users\n *\n * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data.\n */\nexport const useMigrationsGetArchiveForAuthenticatedUser = <TData = undefined>(\n  variables: MigrationsGetArchiveForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      MigrationsGetArchiveForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    MigrationsGetArchiveForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/migrations/{migration_id}/archive',\n      operationId: 'migrationsGetArchiveForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchMigrationsGetArchiveForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type MigrationsUnlockRepoForAuthenticatedUserPathParams = {\n  /**\n   * migration_id parameter\n   */\n  migrationId: number;\n  /**\n   * repo_name parameter\n   */\n  repoName: string;\n};\n\nexport type MigrationsUnlockRepoForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n  >;\n\nexport type MigrationsUnlockRepoForAuthenticatedUserVariables = {\n  pathParams: MigrationsUnlockRepoForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked.\n */\nexport const fetchMigrationsUnlockRepoForAuthenticatedUser = (\n  variables: MigrationsUnlockRepoForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    MigrationsUnlockRepoForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    MigrationsUnlockRepoForAuthenticatedUserPathParams\n  >({\n    url: '/user/migrations/{migrationId}/repos/{repoName}/lock',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked.\n */\nexport const useMigrationsUnlockRepoForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      MigrationsUnlockRepoForAuthenticatedUserError,\n      MigrationsUnlockRepoForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    MigrationsUnlockRepoForAuthenticatedUserError,\n    MigrationsUnlockRepoForAuthenticatedUserVariables\n  >(\n    (variables: MigrationsUnlockRepoForAuthenticatedUserVariables) =>\n      fetchMigrationsUnlockRepoForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type MigrationsListReposForUserPathParams = {\n  /**\n   * migration_id parameter\n   */\n  migrationId: number;\n};\n\nexport type MigrationsListReposForUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type MigrationsListReposForUserError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type MigrationsListReposForUserResponse = Schemas.MinimalRepository[];\n\nexport type MigrationsListReposForUserVariables = {\n  pathParams: MigrationsListReposForUserPathParams;\n  queryParams?: MigrationsListReposForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all the repositories for this user migration.\n */\nexport const fetchMigrationsListReposForUser = (\n  variables: MigrationsListReposForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    MigrationsListReposForUserResponse,\n    MigrationsListReposForUserError,\n    undefined,\n    {},\n    MigrationsListReposForUserQueryParams,\n    MigrationsListReposForUserPathParams\n  >({\n    url: '/user/migrations/{migrationId}/repositories',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists all the repositories for this user migration.\n */\nexport const useMigrationsListReposForUser = <\n  TData = MigrationsListReposForUserResponse,\n>(\n  variables: MigrationsListReposForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      MigrationsListReposForUserResponse,\n      MigrationsListReposForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    MigrationsListReposForUserResponse,\n    MigrationsListReposForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/migrations/{migration_id}/repositories',\n      operationId: 'migrationsListReposForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchMigrationsListReposForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsListForAuthenticatedUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type OrgsListForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n>;\n\nexport type OrgsListForAuthenticatedUserResponse = Schemas.OrganizationSimple[];\n\nexport type OrgsListForAuthenticatedUserVariables = {\n  queryParams?: OrgsListForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List organizations for the authenticated user.\n *\n * **OAuth scope requirements**\n *\n * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response.\n */\nexport const fetchOrgsListForAuthenticatedUser = (\n  variables: OrgsListForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListForAuthenticatedUserResponse,\n    OrgsListForAuthenticatedUserError,\n    undefined,\n    {},\n    OrgsListForAuthenticatedUserQueryParams,\n    {}\n  >({ url: '/user/orgs', method: 'get', ...variables, signal });\n\n/**\n * List organizations for the authenticated user.\n *\n * **OAuth scope requirements**\n *\n * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response.\n */\nexport const useOrgsListForAuthenticatedUser = <\n  TData = OrgsListForAuthenticatedUserResponse,\n>(\n  variables: OrgsListForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListForAuthenticatedUserResponse,\n      OrgsListForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListForAuthenticatedUserResponse,\n    OrgsListForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/orgs',\n      operationId: 'orgsListForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PackagesDeletePackageForAuthenticatedUserPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n};\n\nexport type PackagesDeletePackageForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n  >;\n\nexport type PackagesDeletePackageForAuthenticatedUserVariables = {\n  pathParams: PackagesDeletePackageForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 25 downloads. In this scenario, contact GitHub support for further assistance.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesDeletePackageForAuthenticatedUser = (\n  variables: PackagesDeletePackageForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    PackagesDeletePackageForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    PackagesDeletePackageForAuthenticatedUserPathParams\n  >({\n    url: '/user/packages/{packageType}/{packageName}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 25 downloads. In this scenario, contact GitHub support for further assistance.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesDeletePackageForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      PackagesDeletePackageForAuthenticatedUserError,\n      PackagesDeletePackageForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    PackagesDeletePackageForAuthenticatedUserError,\n    PackagesDeletePackageForAuthenticatedUserVariables\n  >(\n    (variables: PackagesDeletePackageForAuthenticatedUserVariables) =>\n      fetchPackagesDeletePackageForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type PackagesGetPackageForAuthenticatedUserPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n};\n\nexport type PackagesGetPackageForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type PackagesGetPackageForAuthenticatedUserVariables = {\n  pathParams: PackagesGetPackageForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific package for a package owned by the authenticated user.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesGetPackageForAuthenticatedUser = (\n  variables: PackagesGetPackageForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Package,\n    PackagesGetPackageForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    PackagesGetPackageForAuthenticatedUserPathParams\n  >({\n    url: '/user/packages/{packageType}/{packageName}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific package for a package owned by the authenticated user.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesGetPackageForAuthenticatedUser = <\n  TData = Schemas.Package,\n>(\n  variables: PackagesGetPackageForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Package,\n      PackagesGetPackageForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Package,\n    PackagesGetPackageForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/packages/{package_type}/{package_name}',\n      operationId: 'packagesGetPackageForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPackagesGetPackageForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PackagesRestorePackageForAuthenticatedUserPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n};\n\nexport type PackagesRestorePackageForAuthenticatedUserQueryParams = {\n  /**\n   * package token\n   */\n  token?: string;\n};\n\nexport type PackagesRestorePackageForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n  >;\n\nexport type PackagesRestorePackageForAuthenticatedUserVariables = {\n  pathParams: PackagesRestorePackageForAuthenticatedUserPathParams;\n  queryParams?: PackagesRestorePackageForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Restores a package owned by the authenticated user.\n *\n * You can restore a deleted package under the following conditions:\n *   - The package was deleted within the last 30 days.\n *   - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scope. If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesRestorePackageForAuthenticatedUser = (\n  variables: PackagesRestorePackageForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    PackagesRestorePackageForAuthenticatedUserError,\n    undefined,\n    {},\n    PackagesRestorePackageForAuthenticatedUserQueryParams,\n    PackagesRestorePackageForAuthenticatedUserPathParams\n  >({\n    url: '/user/packages/{packageType}/{packageName}/restore',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Restores a package owned by the authenticated user.\n *\n * You can restore a deleted package under the following conditions:\n *   - The package was deleted within the last 30 days.\n *   - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scope. If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesRestorePackageForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      PackagesRestorePackageForAuthenticatedUserError,\n      PackagesRestorePackageForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    PackagesRestorePackageForAuthenticatedUserError,\n    PackagesRestorePackageForAuthenticatedUserVariables\n  >(\n    (variables: PackagesRestorePackageForAuthenticatedUserVariables) =>\n      fetchPackagesRestorePackageForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserPathParams =\n  {\n    /**\n     * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n     */\n    packageType:\n      | 'npm'\n      | 'maven'\n      | 'rubygems'\n      | 'docker'\n      | 'nuget'\n      | 'container';\n    /**\n     * The name of the package.\n     */\n    packageName: string;\n  };\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserQueryParams =\n  {\n    /**\n     * Page number of the results to fetch.\n     *\n     * @default 1\n     */\n    page?: number;\n    /**\n     * Results per page (max 100).\n     *\n     * @default 30\n     */\n    per_page?: number;\n    /**\n     * The state of the package, either active or deleted.\n     *\n     * @default active\n     */\n    state?: 'active' | 'deleted';\n  };\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n  >;\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserResponse =\n  Schemas.PackageVersion[];\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserVariables =\n  {\n    pathParams: PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserPathParams;\n    queryParams?: PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserQueryParams;\n  } & GithubContext['fetcherOptions'];\n\n/**\n * Returns all package versions for a package owned by the authenticated user.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUser =\n  (\n    variables: PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserVariables,\n    signal?: AbortSignal,\n  ) =>\n    githubFetch<\n      PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserResponse,\n      PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserError,\n      undefined,\n      {},\n      PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserQueryParams,\n      PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserPathParams\n    >({\n      url: '/user/packages/{packageType}/{packageName}/versions',\n      method: 'get',\n      ...variables,\n      signal,\n    });\n\n/**\n * Returns all package versions for a package owned by the authenticated user.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUser =\n  <\n    TData = PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserResponse,\n  >(\n    variables: PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserVariables,\n    options?: Omit<\n      reactQuery.UseQueryOptions<\n        PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserResponse,\n        PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserError,\n        TData\n      >,\n      'queryKey' | 'queryFn'\n    >,\n  ) => {\n    const { fetcherOptions, queryOptions, queryKeyFn } =\n      useGithubContext(options);\n    return reactQuery.useQuery<\n      PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserResponse,\n      PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserError,\n      TData\n    >(\n      queryKeyFn({\n        path: '/user/packages/{package_type}/{package_name}/versions',\n        operationId:\n          'packagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUser',\n        variables,\n      }),\n      ({ signal }) =>\n        fetchPackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUser(\n          { ...fetcherOptions, ...variables },\n          signal,\n        ),\n      {\n        ...options,\n        ...queryOptions,\n      },\n    );\n  };\n\nexport type PackagesDeletePackageVersionForAuthenticatedUserPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  /**\n   * Unique identifier of the package version.\n   */\n  packageVersionId: number;\n};\n\nexport type PackagesDeletePackageVersionForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n  >;\n\nexport type PackagesDeletePackageVersionForAuthenticatedUserVariables = {\n  pathParams: PackagesDeletePackageVersionForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Deletes a specific package version for a package owned by the authenticated user.  If the package is public and the package version has more than 25 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance.\n *\n * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesDeletePackageVersionForAuthenticatedUser = (\n  variables: PackagesDeletePackageVersionForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    PackagesDeletePackageVersionForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    PackagesDeletePackageVersionForAuthenticatedUserPathParams\n  >({\n    url: '/user/packages/{packageType}/{packageName}/versions/{packageVersionId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\n/**\n * Deletes a specific package version for a package owned by the authenticated user.  If the package is public and the package version has more than 25 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance.\n *\n * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesDeletePackageVersionForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      PackagesDeletePackageVersionForAuthenticatedUserError,\n      PackagesDeletePackageVersionForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    PackagesDeletePackageVersionForAuthenticatedUserError,\n    PackagesDeletePackageVersionForAuthenticatedUserVariables\n  >(\n    (variables: PackagesDeletePackageVersionForAuthenticatedUserVariables) =>\n      fetchPackagesDeletePackageVersionForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type PackagesGetPackageVersionForAuthenticatedUserPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  /**\n   * Unique identifier of the package version.\n   */\n  packageVersionId: number;\n};\n\nexport type PackagesGetPackageVersionForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type PackagesGetPackageVersionForAuthenticatedUserVariables = {\n  pathParams: PackagesGetPackageVersionForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific package version for a package owned by the authenticated user.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesGetPackageVersionForAuthenticatedUser = (\n  variables: PackagesGetPackageVersionForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PackageVersion,\n    PackagesGetPackageVersionForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    PackagesGetPackageVersionForAuthenticatedUserPathParams\n  >({\n    url: '/user/packages/{packageType}/{packageName}/versions/{packageVersionId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific package version for a package owned by the authenticated user.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesGetPackageVersionForAuthenticatedUser = <\n  TData = Schemas.PackageVersion,\n>(\n  variables: PackagesGetPackageVersionForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PackageVersion,\n      PackagesGetPackageVersionForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.PackageVersion,\n    PackagesGetPackageVersionForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/packages/{package_type}/{package_name}/versions/{package_version_id}',\n      operationId: 'packagesGetPackageVersionForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPackagesGetPackageVersionForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PackagesRestorePackageVersionForAuthenticatedUserPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  /**\n   * Unique identifier of the package version.\n   */\n  packageVersionId: number;\n};\n\nexport type PackagesRestorePackageVersionForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n  >;\n\nexport type PackagesRestorePackageVersionForAuthenticatedUserVariables = {\n  pathParams: PackagesRestorePackageVersionForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Restores a package version owned by the authenticated user.\n *\n * You can restore a deleted package version under the following conditions:\n *   - The package was deleted within the last 30 days.\n *   - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scope. If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesRestorePackageVersionForAuthenticatedUser = (\n  variables: PackagesRestorePackageVersionForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    PackagesRestorePackageVersionForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    PackagesRestorePackageVersionForAuthenticatedUserPathParams\n  >({\n    url: '/user/packages/{packageType}/{packageName}/versions/{packageVersionId}/restore',\n    method: 'post',\n    ...variables,\n    signal,\n  });\n\n/**\n * Restores a package version owned by the authenticated user.\n *\n * You can restore a deleted package version under the following conditions:\n *   - The package was deleted within the last 30 days.\n *   - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scope. If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesRestorePackageVersionForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      PackagesRestorePackageVersionForAuthenticatedUserError,\n      PackagesRestorePackageVersionForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    PackagesRestorePackageVersionForAuthenticatedUserError,\n    PackagesRestorePackageVersionForAuthenticatedUserVariables\n  >(\n    (variables: PackagesRestorePackageVersionForAuthenticatedUserVariables) =>\n      fetchPackagesRestorePackageVersionForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ProjectsCreateForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailedSimple;\n    }\n>;\n\nexport type ProjectsCreateForAuthenticatedUserRequestBody = {\n  /**\n   * Body of the project\n   *\n   * @example This project represents the sprint of the first week in January\n   */\n  body?: string | null;\n  /**\n   * Name of the project\n   *\n   * @example Week One Sprint\n   */\n  name: string;\n};\n\nexport type ProjectsCreateForAuthenticatedUserVariables = {\n  body: ProjectsCreateForAuthenticatedUserRequestBody;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsCreateForAuthenticatedUser = (\n  variables: ProjectsCreateForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Project,\n    ProjectsCreateForAuthenticatedUserError,\n    ProjectsCreateForAuthenticatedUserRequestBody,\n    {},\n    {},\n    {}\n  >({ url: '/user/projects', method: 'post', ...variables, signal });\n\nexport const useProjectsCreateForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Project,\n      ProjectsCreateForAuthenticatedUserError,\n      ProjectsCreateForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Project,\n    ProjectsCreateForAuthenticatedUserError,\n    ProjectsCreateForAuthenticatedUserVariables\n  >(\n    (variables: ProjectsCreateForAuthenticatedUserVariables) =>\n      fetchProjectsCreateForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type UsersListPublicEmailsForAuthenticatedQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type UsersListPublicEmailsForAuthenticatedError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type UsersListPublicEmailsForAuthenticatedResponse = Schemas.Email[];\n\nexport type UsersListPublicEmailsForAuthenticatedVariables = {\n  queryParams?: UsersListPublicEmailsForAuthenticatedQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope.\n */\nexport const fetchUsersListPublicEmailsForAuthenticated = (\n  variables: UsersListPublicEmailsForAuthenticatedVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersListPublicEmailsForAuthenticatedResponse,\n    UsersListPublicEmailsForAuthenticatedError,\n    undefined,\n    {},\n    UsersListPublicEmailsForAuthenticatedQueryParams,\n    {}\n  >({ url: '/user/public_emails', method: 'get', ...variables, signal });\n\n/**\n * Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope.\n */\nexport const useUsersListPublicEmailsForAuthenticated = <\n  TData = UsersListPublicEmailsForAuthenticatedResponse,\n>(\n  variables: UsersListPublicEmailsForAuthenticatedVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      UsersListPublicEmailsForAuthenticatedResponse,\n      UsersListPublicEmailsForAuthenticatedError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    UsersListPublicEmailsForAuthenticatedResponse,\n    UsersListPublicEmailsForAuthenticatedError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/public_emails',\n      operationId: 'usersListPublicEmailsForAuthenticated',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersListPublicEmailsForAuthenticated(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListForAuthenticatedUserQueryParams = {\n  /**\n   * Can be one of `all`, `public`, or `private`. Note: For GitHub AE, can be one of `all`, `internal`, or `private`.\n   *\n   * @default all\n   */\n  visibility?: 'all' | 'public' | 'private';\n  /**\n   * Comma-separated list of values. Can include:\n   * \\* `owner`: Repositories that are owned by the authenticated user.\n   * \\* `collaborator`: Repositories that the user has been added to as a collaborator.\n   * \\* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on.\n   *\n   * @default owner,collaborator,organization_member\n   */\n  affiliation?: string;\n  /**\n   * Can be one of `all`, `owner`, `public`, `private`, `member`. Note: For GitHub AE, can be one of `all`, `owner`, `internal`, `private`, `member`. Default: `all`\n   *\n   * Will cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**.\n   *\n   * @default all\n   */\n  type?: 'all' | 'owner' | 'public' | 'private' | 'member';\n  /**\n   * Can be one of `created`, `updated`, `pushed`, `full_name`.\n   *\n   * @default full_name\n   */\n  sort?: 'created' | 'updated' | 'pushed' | 'full_name';\n  /**\n   * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc`\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  before?: string;\n};\n\nexport type ReposListForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposListForAuthenticatedUserResponse = Schemas.Repository[];\n\nexport type ReposListForAuthenticatedUserVariables = {\n  queryParams?: ReposListForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.\n *\n * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.\n */\nexport const fetchReposListForAuthenticatedUser = (\n  variables: ReposListForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListForAuthenticatedUserResponse,\n    ReposListForAuthenticatedUserError,\n    undefined,\n    {},\n    ReposListForAuthenticatedUserQueryParams,\n    {}\n  >({ url: '/user/repos', method: 'get', ...variables, signal });\n\n/**\n * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.\n *\n * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.\n */\nexport const useReposListForAuthenticatedUser = <\n  TData = ReposListForAuthenticatedUserResponse,\n>(\n  variables: ReposListForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListForAuthenticatedUserResponse,\n      ReposListForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListForAuthenticatedUserResponse,\n    ReposListForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/repos',\n      operationId: 'reposListForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposCreateForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 400;\n      payload: Responses.BadRequest;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ReposCreateForAuthenticatedUserRequestBody = {\n  /**\n   * Whether to allow merge commits for pull requests.\n   *\n   * @default true\n   * @example true\n   */\n  allow_merge_commit?: boolean;\n  /**\n   * Whether to allow rebase merges for pull requests.\n   *\n   * @default true\n   * @example true\n   */\n  allow_rebase_merge?: boolean;\n  /**\n   * Whether to allow squash merges for pull requests.\n   *\n   * @default true\n   * @example true\n   */\n  allow_squash_merge?: boolean;\n  /**\n   * Whether the repository is initialized with a minimal README.\n   *\n   * @default false\n   */\n  auto_init?: boolean;\n  /**\n   * Whether to delete head branches when pull requests are merged\n   *\n   * @default false\n   * @example false\n   */\n  delete_branch_on_merge?: boolean;\n  /**\n   * A short description of the repository.\n   */\n  description?: string;\n  /**\n   * The desired language or platform to apply to the .gitignore.\n   *\n   * @example Haskell\n   */\n  gitignore_template?: string;\n  /**\n   * Whether downloads are enabled.\n   *\n   * @default true\n   * @example true\n   */\n  has_downloads?: boolean;\n  /**\n   * Whether issues are enabled.\n   *\n   * @default true\n   * @example true\n   */\n  has_issues?: boolean;\n  /**\n   * Whether projects are enabled.\n   *\n   * @default true\n   * @example true\n   */\n  has_projects?: boolean;\n  /**\n   * Whether the wiki is enabled.\n   *\n   * @default true\n   * @example true\n   */\n  has_wiki?: boolean;\n  /**\n   * A URL with more information about the repository.\n   */\n  homepage?: string;\n  /**\n   * Whether this repository acts as a template that can be used to generate new repositories.\n   *\n   * @default false\n   * @example true\n   */\n  is_template?: boolean;\n  /**\n   * The license keyword of the open source license for this repository.\n   *\n   * @example mit\n   */\n  license_template?: string;\n  /**\n   * The name of the repository.\n   *\n   * @example Team Environment\n   */\n  name: string;\n  /**\n   * Whether the repository is private.\n   *\n   * @default false\n   */\n  private?: boolean;\n  /**\n   * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization.\n   */\n  team_id?: number;\n};\n\nexport type ReposCreateForAuthenticatedUserVariables = {\n  body: ReposCreateForAuthenticatedUserRequestBody;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Creates a new repository for the authenticated user.\n *\n * **OAuth scope requirements**\n *\n * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n *\n * *   `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n * *   `repo` scope to create a private repository.\n */\nexport const fetchReposCreateForAuthenticatedUser = (\n  variables: ReposCreateForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Repository,\n    ReposCreateForAuthenticatedUserError,\n    ReposCreateForAuthenticatedUserRequestBody,\n    {},\n    {},\n    {}\n  >({ url: '/user/repos', method: 'post', ...variables, signal });\n\n/**\n * Creates a new repository for the authenticated user.\n *\n * **OAuth scope requirements**\n *\n * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n *\n * *   `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n * *   `repo` scope to create a private repository.\n */\nexport const useReposCreateForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      Schemas.Repository,\n      ReposCreateForAuthenticatedUserError,\n      ReposCreateForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    Schemas.Repository,\n    ReposCreateForAuthenticatedUserError,\n    ReposCreateForAuthenticatedUserVariables\n  >(\n    (variables: ReposCreateForAuthenticatedUserVariables) =>\n      fetchReposCreateForAuthenticatedUser({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposListInvitationsForAuthenticatedUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListInvitationsForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n  >;\n\nexport type ReposListInvitationsForAuthenticatedUserResponse =\n  Schemas.RepositoryInvitation[];\n\nexport type ReposListInvitationsForAuthenticatedUserVariables = {\n  queryParams?: ReposListInvitationsForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * When authenticating as a user, this endpoint will list all currently open repository invitations for that user.\n */\nexport const fetchReposListInvitationsForAuthenticatedUser = (\n  variables: ReposListInvitationsForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListInvitationsForAuthenticatedUserResponse,\n    ReposListInvitationsForAuthenticatedUserError,\n    undefined,\n    {},\n    ReposListInvitationsForAuthenticatedUserQueryParams,\n    {}\n  >({\n    url: '/user/repository_invitations',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * When authenticating as a user, this endpoint will list all currently open repository invitations for that user.\n */\nexport const useReposListInvitationsForAuthenticatedUser = <\n  TData = ReposListInvitationsForAuthenticatedUserResponse,\n>(\n  variables: ReposListInvitationsForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListInvitationsForAuthenticatedUserResponse,\n      ReposListInvitationsForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListInvitationsForAuthenticatedUserResponse,\n    ReposListInvitationsForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/repository_invitations',\n      operationId: 'reposListInvitationsForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListInvitationsForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposDeclineInvitationPathParams = {\n  /**\n   * invitation_id parameter\n   */\n  invitationId: number;\n};\n\nexport type ReposDeclineInvitationError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 409;\n      payload: Responses.Conflict;\n    }\n>;\n\nexport type ReposDeclineInvitationVariables = {\n  pathParams: ReposDeclineInvitationPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposDeclineInvitation = (\n  variables: ReposDeclineInvitationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposDeclineInvitationError,\n    undefined,\n    {},\n    {},\n    ReposDeclineInvitationPathParams\n  >({\n    url: '/user/repository_invitations/{invitationId}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useReposDeclineInvitation = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposDeclineInvitationError,\n      ReposDeclineInvitationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposDeclineInvitationError,\n    ReposDeclineInvitationVariables\n  >(\n    (variables: ReposDeclineInvitationVariables) =>\n      fetchReposDeclineInvitation({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ReposAcceptInvitationPathParams = {\n  /**\n   * invitation_id parameter\n   */\n  invitationId: number;\n};\n\nexport type ReposAcceptInvitationError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 409;\n      payload: Responses.Conflict;\n    }\n>;\n\nexport type ReposAcceptInvitationVariables = {\n  pathParams: ReposAcceptInvitationPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchReposAcceptInvitation = (\n  variables: ReposAcceptInvitationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ReposAcceptInvitationError,\n    undefined,\n    {},\n    {},\n    ReposAcceptInvitationPathParams\n  >({\n    url: '/user/repository_invitations/{invitationId}',\n    method: 'patch',\n    ...variables,\n    signal,\n  });\n\nexport const useReposAcceptInvitation = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ReposAcceptInvitationError,\n      ReposAcceptInvitationVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ReposAcceptInvitationError,\n    ReposAcceptInvitationVariables\n  >(\n    (variables: ReposAcceptInvitationVariables) =>\n      fetchReposAcceptInvitation({ ...fetcherOptions, ...variables }),\n    options,\n  );\n};\n\nexport type ActivityListReposStarredByAuthenticatedUserQueryParams = {\n  /**\n   * One of `created` (when the repository was starred) or `updated` (when it was last pushed to).\n   *\n   * @default created\n   */\n  sort?: 'created' | 'updated';\n  /**\n   * One of `asc` (ascending) or `desc` (descending).\n   *\n   * @default desc\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListReposStarredByAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n  >;\n\nexport type ActivityListReposStarredByAuthenticatedUserResponse =\n  Schemas.Repository[];\n\nexport type ActivityListReposStarredByAuthenticatedUserVariables = {\n  queryParams?: ActivityListReposStarredByAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists repositories the authenticated user has starred.\n *\n * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:\n */\nexport const fetchActivityListReposStarredByAuthenticatedUser = (\n  variables: ActivityListReposStarredByAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListReposStarredByAuthenticatedUserResponse,\n    ActivityListReposStarredByAuthenticatedUserError,\n    undefined,\n    {},\n    ActivityListReposStarredByAuthenticatedUserQueryParams,\n    {}\n  >({ url: '/user/starred', method: 'get', ...variables, signal });\n\n/**\n * Lists repositories the authenticated user has starred.\n *\n * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:\n */\nexport const useActivityListReposStarredByAuthenticatedUser = <\n  TData = ActivityListReposStarredByAuthenticatedUserResponse,\n>(\n  variables: ActivityListReposStarredByAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListReposStarredByAuthenticatedUserResponse,\n      ActivityListReposStarredByAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListReposStarredByAuthenticatedUserResponse,\n    ActivityListReposStarredByAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/starred',\n      operationId: 'activityListReposStarredByAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListReposStarredByAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityUnstarRepoForAuthenticatedUserPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActivityUnstarRepoForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type ActivityUnstarRepoForAuthenticatedUserVariables = {\n  pathParams: ActivityUnstarRepoForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchActivityUnstarRepoForAuthenticatedUser = (\n  variables: ActivityUnstarRepoForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActivityUnstarRepoForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    ActivityUnstarRepoForAuthenticatedUserPathParams\n  >({\n    url: '/user/starred/{owner}/{repo}',\n    method: 'delete',\n    ...variables,\n    signal,\n  });\n\nexport const useActivityUnstarRepoForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActivityUnstarRepoForAuthenticatedUserError,\n      ActivityUnstarRepoForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActivityUnstarRepoForAuthenticatedUserError,\n    ActivityUnstarRepoForAuthenticatedUserVariables\n  >(\n    (variables: ActivityUnstarRepoForAuthenticatedUserVariables) =>\n      fetchActivityUnstarRepoForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActivityCheckRepoIsStarredByAuthenticatedUserPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActivityCheckRepoIsStarredByAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Schemas.BasicError;\n      }\n  >;\n\nexport type ActivityCheckRepoIsStarredByAuthenticatedUserVariables = {\n  pathParams: ActivityCheckRepoIsStarredByAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchActivityCheckRepoIsStarredByAuthenticatedUser = (\n  variables: ActivityCheckRepoIsStarredByAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActivityCheckRepoIsStarredByAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    ActivityCheckRepoIsStarredByAuthenticatedUserPathParams\n  >({\n    url: '/user/starred/{owner}/{repo}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useActivityCheckRepoIsStarredByAuthenticatedUser = <\n  TData = undefined,\n>(\n  variables: ActivityCheckRepoIsStarredByAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      ActivityCheckRepoIsStarredByAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    undefined,\n    ActivityCheckRepoIsStarredByAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/starred/{owner}/{repo}',\n      operationId: 'activityCheckRepoIsStarredByAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityCheckRepoIsStarredByAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityStarRepoForAuthenticatedUserPathParams = {\n  owner: string;\n  repo: string;\n};\n\nexport type ActivityStarRepoForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 401;\n      payload: Responses.RequiresAuthentication;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type ActivityStarRepoForAuthenticatedUserVariables = {\n  pathParams: ActivityStarRepoForAuthenticatedUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n */\nexport const fetchActivityStarRepoForAuthenticatedUser = (\n  variables: ActivityStarRepoForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    ActivityStarRepoForAuthenticatedUserError,\n    undefined,\n    {},\n    {},\n    ActivityStarRepoForAuthenticatedUserPathParams\n  >({\n    url: '/user/starred/{owner}/{repo}',\n    method: 'put',\n    ...variables,\n    signal,\n  });\n\n/**\n * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see \"[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs).\"\n */\nexport const useActivityStarRepoForAuthenticatedUser = (\n  options?: Omit<\n    reactQuery.UseMutationOptions<\n      undefined,\n      ActivityStarRepoForAuthenticatedUserError,\n      ActivityStarRepoForAuthenticatedUserVariables\n    >,\n    'mutationFn'\n  >,\n) => {\n  const { fetcherOptions } = useGithubContext();\n  return reactQuery.useMutation<\n    undefined,\n    ActivityStarRepoForAuthenticatedUserError,\n    ActivityStarRepoForAuthenticatedUserVariables\n  >(\n    (variables: ActivityStarRepoForAuthenticatedUserVariables) =>\n      fetchActivityStarRepoForAuthenticatedUser({\n        ...fetcherOptions,\n        ...variables,\n      }),\n    options,\n  );\n};\n\nexport type ActivityListWatchedReposForAuthenticatedUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListWatchedReposForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 304;\n        payload: Responses.NotModified;\n      }\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n  >;\n\nexport type ActivityListWatchedReposForAuthenticatedUserResponse =\n  Schemas.MinimalRepository[];\n\nexport type ActivityListWatchedReposForAuthenticatedUserVariables = {\n  queryParams?: ActivityListWatchedReposForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists repositories the authenticated user is watching.\n */\nexport const fetchActivityListWatchedReposForAuthenticatedUser = (\n  variables: ActivityListWatchedReposForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListWatchedReposForAuthenticatedUserResponse,\n    ActivityListWatchedReposForAuthenticatedUserError,\n    undefined,\n    {},\n    ActivityListWatchedReposForAuthenticatedUserQueryParams,\n    {}\n  >({ url: '/user/subscriptions', method: 'get', ...variables, signal });\n\n/**\n * Lists repositories the authenticated user is watching.\n */\nexport const useActivityListWatchedReposForAuthenticatedUser = <\n  TData = ActivityListWatchedReposForAuthenticatedUserResponse,\n>(\n  variables: ActivityListWatchedReposForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListWatchedReposForAuthenticatedUserResponse,\n      ActivityListWatchedReposForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListWatchedReposForAuthenticatedUserResponse,\n    ActivityListWatchedReposForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/subscriptions',\n      operationId: 'activityListWatchedReposForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListWatchedReposForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type TeamsListForAuthenticatedUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type TeamsListForAuthenticatedUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 304;\n      payload: Responses.NotModified;\n    }\n  | {\n      status: 403;\n      payload: Responses.Forbidden;\n    }\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n>;\n\nexport type TeamsListForAuthenticatedUserResponse = Schemas.TeamFull[];\n\nexport type TeamsListForAuthenticatedUserVariables = {\n  queryParams?: TeamsListForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/).\n */\nexport const fetchTeamsListForAuthenticatedUser = (\n  variables: TeamsListForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    TeamsListForAuthenticatedUserResponse,\n    TeamsListForAuthenticatedUserError,\n    undefined,\n    {},\n    TeamsListForAuthenticatedUserQueryParams,\n    {}\n  >({ url: '/user/teams', method: 'get', ...variables, signal });\n\n/**\n * List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/).\n */\nexport const useTeamsListForAuthenticatedUser = <\n  TData = TeamsListForAuthenticatedUserResponse,\n>(\n  variables: TeamsListForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      TeamsListForAuthenticatedUserResponse,\n      TeamsListForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    TeamsListForAuthenticatedUserResponse,\n    TeamsListForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/user/teams',\n      operationId: 'teamsListForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchTeamsListForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersListQueryParams = {\n  /**\n   * A user ID. Only return users with an ID greater than this ID.\n   */\n  since?: number;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n};\n\nexport type UsersListError = Fetcher.ErrorWrapper<{\n  status: 304;\n  payload: Responses.NotModified;\n}>;\n\nexport type UsersListResponse = Schemas.SimpleUser[];\n\nexport type UsersListVariables = {\n  queryParams?: UsersListQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts.\n *\n * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users.\n */\nexport const fetchUsersList = (\n  variables: UsersListVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersListResponse,\n    UsersListError,\n    undefined,\n    {},\n    UsersListQueryParams,\n    {}\n  >({ url: '/users', method: 'get', ...variables, signal });\n\n/**\n * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts.\n *\n * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users.\n */\nexport const useUsersList = <TData = UsersListResponse>(\n  variables: UsersListVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<UsersListResponse, UsersListError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<UsersListResponse, UsersListError, TData>(\n    queryKeyFn({ path: '/users', operationId: 'usersList', variables }),\n    ({ signal }) => fetchUsersList({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersGetByUsernamePathParams = {\n  username: string;\n};\n\nexport type UsersGetByUsernameError = Fetcher.ErrorWrapper<{\n  status: 404;\n  payload: Responses.NotFound;\n}>;\n\nexport type UsersGetByUsernameVariables = {\n  pathParams: UsersGetByUsernamePathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Provides publicly available information about someone with a GitHub account.\n *\n * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See \"[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)\" for details about authentication. For an example response, see 'Response with GitHub plan information' below\"\n *\n * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication).\n *\n * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see \"[Emails API](https://docs.github.com/rest/reference/users#emails)\".\n */\nexport const fetchUsersGetByUsername = (\n  variables: UsersGetByUsernameVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PrivateUser | Schemas.PublicUser,\n    UsersGetByUsernameError,\n    undefined,\n    {},\n    {},\n    UsersGetByUsernamePathParams\n  >({ url: '/users/{username}', method: 'get', ...variables, signal });\n\n/**\n * Provides publicly available information about someone with a GitHub account.\n *\n * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See \"[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)\" for details about authentication. For an example response, see 'Response with GitHub plan information' below\"\n *\n * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication).\n *\n * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see \"[Emails API](https://docs.github.com/rest/reference/users#emails)\".\n */\nexport const useUsersGetByUsername = <\n  TData = Schemas.PrivateUser | Schemas.PublicUser,\n>(\n  variables: UsersGetByUsernameVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PrivateUser | Schemas.PublicUser,\n      UsersGetByUsernameError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.PrivateUser | Schemas.PublicUser,\n    UsersGetByUsernameError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}',\n      operationId: 'usersGetByUsername',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersGetByUsername({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityListEventsForAuthenticatedUserPathParams = {\n  username: string;\n};\n\nexport type ActivityListEventsForAuthenticatedUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListEventsForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityListEventsForAuthenticatedUserResponse = Schemas.Event[];\n\nexport type ActivityListEventsForAuthenticatedUserVariables = {\n  pathParams: ActivityListEventsForAuthenticatedUserPathParams;\n  queryParams?: ActivityListEventsForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events.\n */\nexport const fetchActivityListEventsForAuthenticatedUser = (\n  variables: ActivityListEventsForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListEventsForAuthenticatedUserResponse,\n    ActivityListEventsForAuthenticatedUserError,\n    undefined,\n    {},\n    ActivityListEventsForAuthenticatedUserQueryParams,\n    ActivityListEventsForAuthenticatedUserPathParams\n  >({ url: '/users/{username}/events', method: 'get', ...variables, signal });\n\n/**\n * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events.\n */\nexport const useActivityListEventsForAuthenticatedUser = <\n  TData = ActivityListEventsForAuthenticatedUserResponse,\n>(\n  variables: ActivityListEventsForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListEventsForAuthenticatedUserResponse,\n      ActivityListEventsForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListEventsForAuthenticatedUserResponse,\n    ActivityListEventsForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/events',\n      operationId: 'activityListEventsForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListEventsForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityListOrgEventsForAuthenticatedUserPathParams = {\n  username: string;\n  org: string;\n};\n\nexport type ActivityListOrgEventsForAuthenticatedUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListOrgEventsForAuthenticatedUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityListOrgEventsForAuthenticatedUserResponse = Schemas.Event[];\n\nexport type ActivityListOrgEventsForAuthenticatedUserVariables = {\n  pathParams: ActivityListOrgEventsForAuthenticatedUserPathParams;\n  queryParams?: ActivityListOrgEventsForAuthenticatedUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * This is the user's organization dashboard. You must be authenticated as the user to view this.\n */\nexport const fetchActivityListOrgEventsForAuthenticatedUser = (\n  variables: ActivityListOrgEventsForAuthenticatedUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListOrgEventsForAuthenticatedUserResponse,\n    ActivityListOrgEventsForAuthenticatedUserError,\n    undefined,\n    {},\n    ActivityListOrgEventsForAuthenticatedUserQueryParams,\n    ActivityListOrgEventsForAuthenticatedUserPathParams\n  >({\n    url: '/users/{username}/events/orgs/{org}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * This is the user's organization dashboard. You must be authenticated as the user to view this.\n */\nexport const useActivityListOrgEventsForAuthenticatedUser = <\n  TData = ActivityListOrgEventsForAuthenticatedUserResponse,\n>(\n  variables: ActivityListOrgEventsForAuthenticatedUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListOrgEventsForAuthenticatedUserResponse,\n      ActivityListOrgEventsForAuthenticatedUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListOrgEventsForAuthenticatedUserResponse,\n    ActivityListOrgEventsForAuthenticatedUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/events/orgs/{org}',\n      operationId: 'activityListOrgEventsForAuthenticatedUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListOrgEventsForAuthenticatedUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityListPublicEventsForUserPathParams = {\n  username: string;\n};\n\nexport type ActivityListPublicEventsForUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListPublicEventsForUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityListPublicEventsForUserResponse = Schemas.Event[];\n\nexport type ActivityListPublicEventsForUserVariables = {\n  pathParams: ActivityListPublicEventsForUserPathParams;\n  queryParams?: ActivityListPublicEventsForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchActivityListPublicEventsForUser = (\n  variables: ActivityListPublicEventsForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListPublicEventsForUserResponse,\n    ActivityListPublicEventsForUserError,\n    undefined,\n    {},\n    ActivityListPublicEventsForUserQueryParams,\n    ActivityListPublicEventsForUserPathParams\n  >({\n    url: '/users/{username}/events/public',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useActivityListPublicEventsForUser = <\n  TData = ActivityListPublicEventsForUserResponse,\n>(\n  variables: ActivityListPublicEventsForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListPublicEventsForUserResponse,\n      ActivityListPublicEventsForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListPublicEventsForUserResponse,\n    ActivityListPublicEventsForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/events/public',\n      operationId: 'activityListPublicEventsForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListPublicEventsForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersListFollowersForUserPathParams = {\n  username: string;\n};\n\nexport type UsersListFollowersForUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type UsersListFollowersForUserError = Fetcher.ErrorWrapper<undefined>;\n\nexport type UsersListFollowersForUserResponse = Schemas.SimpleUser[];\n\nexport type UsersListFollowersForUserVariables = {\n  pathParams: UsersListFollowersForUserPathParams;\n  queryParams?: UsersListFollowersForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the people following the specified user.\n */\nexport const fetchUsersListFollowersForUser = (\n  variables: UsersListFollowersForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersListFollowersForUserResponse,\n    UsersListFollowersForUserError,\n    undefined,\n    {},\n    UsersListFollowersForUserQueryParams,\n    UsersListFollowersForUserPathParams\n  >({\n    url: '/users/{username}/followers',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the people following the specified user.\n */\nexport const useUsersListFollowersForUser = <\n  TData = UsersListFollowersForUserResponse,\n>(\n  variables: UsersListFollowersForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      UsersListFollowersForUserResponse,\n      UsersListFollowersForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    UsersListFollowersForUserResponse,\n    UsersListFollowersForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/followers',\n      operationId: 'usersListFollowersForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersListFollowersForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersListFollowingForUserPathParams = {\n  username: string;\n};\n\nexport type UsersListFollowingForUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type UsersListFollowingForUserError = Fetcher.ErrorWrapper<undefined>;\n\nexport type UsersListFollowingForUserResponse = Schemas.SimpleUser[];\n\nexport type UsersListFollowingForUserVariables = {\n  pathParams: UsersListFollowingForUserPathParams;\n  queryParams?: UsersListFollowingForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the people who the specified user follows.\n */\nexport const fetchUsersListFollowingForUser = (\n  variables: UsersListFollowingForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersListFollowingForUserResponse,\n    UsersListFollowingForUserError,\n    undefined,\n    {},\n    UsersListFollowingForUserQueryParams,\n    UsersListFollowingForUserPathParams\n  >({\n    url: '/users/{username}/following',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists the people who the specified user follows.\n */\nexport const useUsersListFollowingForUser = <\n  TData = UsersListFollowingForUserResponse,\n>(\n  variables: UsersListFollowingForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      UsersListFollowingForUserResponse,\n      UsersListFollowingForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    UsersListFollowingForUserResponse,\n    UsersListFollowingForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/following',\n      operationId: 'usersListFollowingForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersListFollowingForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersCheckFollowingForUserPathParams = {\n  username: string;\n  targetUser: string;\n};\n\nexport type UsersCheckFollowingForUserError = Fetcher.ErrorWrapper<undefined>;\n\nexport type UsersCheckFollowingForUserVariables = {\n  pathParams: UsersCheckFollowingForUserPathParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchUsersCheckFollowingForUser = (\n  variables: UsersCheckFollowingForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    undefined,\n    UsersCheckFollowingForUserError,\n    undefined,\n    {},\n    {},\n    UsersCheckFollowingForUserPathParams\n  >({\n    url: '/users/{username}/following/{targetUser}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useUsersCheckFollowingForUser = <TData = undefined>(\n  variables: UsersCheckFollowingForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      undefined,\n      UsersCheckFollowingForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<undefined, UsersCheckFollowingForUserError, TData>(\n    queryKeyFn({\n      path: '/users/{username}/following/{target_user}',\n      operationId: 'usersCheckFollowingForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersCheckFollowingForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type GistsListForUserPathParams = {\n  username: string;\n};\n\nexport type GistsListForUserQueryParams = {\n  /**\n   * Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.\n   */\n  since?: string;\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type GistsListForUserError = Fetcher.ErrorWrapper<{\n  status: 422;\n  payload: Responses.ValidationFailed;\n}>;\n\nexport type GistsListForUserResponse = Schemas.BaseGist[];\n\nexport type GistsListForUserVariables = {\n  pathParams: GistsListForUserPathParams;\n  queryParams?: GistsListForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists public gists for the specified user:\n */\nexport const fetchGistsListForUser = (\n  variables: GistsListForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    GistsListForUserResponse,\n    GistsListForUserError,\n    undefined,\n    {},\n    GistsListForUserQueryParams,\n    GistsListForUserPathParams\n  >({ url: '/users/{username}/gists', method: 'get', ...variables, signal });\n\n/**\n * Lists public gists for the specified user:\n */\nexport const useGistsListForUser = <TData = GistsListForUserResponse>(\n  variables: GistsListForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      GistsListForUserResponse,\n      GistsListForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    GistsListForUserResponse,\n    GistsListForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/gists',\n      operationId: 'gistsListForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchGistsListForUser({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersListGpgKeysForUserPathParams = {\n  username: string;\n};\n\nexport type UsersListGpgKeysForUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type UsersListGpgKeysForUserError = Fetcher.ErrorWrapper<undefined>;\n\nexport type UsersListGpgKeysForUserResponse = Schemas.GpgKey[];\n\nexport type UsersListGpgKeysForUserVariables = {\n  pathParams: UsersListGpgKeysForUserPathParams;\n  queryParams?: UsersListGpgKeysForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the GPG keys for a user. This information is accessible by anyone.\n */\nexport const fetchUsersListGpgKeysForUser = (\n  variables: UsersListGpgKeysForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersListGpgKeysForUserResponse,\n    UsersListGpgKeysForUserError,\n    undefined,\n    {},\n    UsersListGpgKeysForUserQueryParams,\n    UsersListGpgKeysForUserPathParams\n  >({ url: '/users/{username}/gpg_keys', method: 'get', ...variables, signal });\n\n/**\n * Lists the GPG keys for a user. This information is accessible by anyone.\n */\nexport const useUsersListGpgKeysForUser = <\n  TData = UsersListGpgKeysForUserResponse,\n>(\n  variables: UsersListGpgKeysForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      UsersListGpgKeysForUserResponse,\n      UsersListGpgKeysForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    UsersListGpgKeysForUserResponse,\n    UsersListGpgKeysForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/gpg_keys',\n      operationId: 'usersListGpgKeysForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersListGpgKeysForUser({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersGetContextForUserPathParams = {\n  username: string;\n};\n\nexport type UsersGetContextForUserQueryParams = {\n  /**\n   * Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`.\n   */\n  subject_type?: 'organization' | 'repository' | 'issue' | 'pull_request';\n  /**\n   * Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`.\n   */\n  subject_id?: string;\n};\n\nexport type UsersGetContextForUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 404;\n      payload: Responses.NotFound;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type UsersGetContextForUserVariables = {\n  pathParams: UsersGetContextForUserPathParams;\n  queryParams?: UsersGetContextForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations.\n *\n * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this:\n *\n * ```shell\n *  curl -u username:token\n *   https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192\n * ```\n */\nexport const fetchUsersGetContextForUser = (\n  variables: UsersGetContextForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Hovercard,\n    UsersGetContextForUserError,\n    undefined,\n    {},\n    UsersGetContextForUserQueryParams,\n    UsersGetContextForUserPathParams\n  >({\n    url: '/users/{username}/hovercard',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations.\n *\n * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this:\n *\n * ```shell\n *  curl -u username:token\n *   https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192\n * ```\n */\nexport const useUsersGetContextForUser = <TData = Schemas.Hovercard>(\n  variables: UsersGetContextForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Hovercard,\n      UsersGetContextForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Hovercard,\n    UsersGetContextForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/hovercard',\n      operationId: 'usersGetContextForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersGetContextForUser({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type AppsGetUserInstallationPathParams = {\n  username: string;\n};\n\nexport type AppsGetUserInstallationError = Fetcher.ErrorWrapper<undefined>;\n\nexport type AppsGetUserInstallationVariables = {\n  pathParams: AppsGetUserInstallationPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Enables an authenticated GitHub App to find the user’s installation information.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const fetchAppsGetUserInstallation = (\n  variables: AppsGetUserInstallationVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Installation,\n    AppsGetUserInstallationError,\n    undefined,\n    {},\n    {},\n    AppsGetUserInstallationPathParams\n  >({\n    url: '/users/{username}/installation',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Enables an authenticated GitHub App to find the user’s installation information.\n *\n * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.\n */\nexport const useAppsGetUserInstallation = <TData = Schemas.Installation>(\n  variables: AppsGetUserInstallationVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Installation,\n      AppsGetUserInstallationError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Installation,\n    AppsGetUserInstallationError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/installation',\n      operationId: 'appsGetUserInstallation',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchAppsGetUserInstallation({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type UsersListPublicKeysForUserPathParams = {\n  username: string;\n};\n\nexport type UsersListPublicKeysForUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type UsersListPublicKeysForUserError = Fetcher.ErrorWrapper<undefined>;\n\nexport type UsersListPublicKeysForUserResponse = Schemas.KeySimple[];\n\nexport type UsersListPublicKeysForUserVariables = {\n  pathParams: UsersListPublicKeysForUserPathParams;\n  queryParams?: UsersListPublicKeysForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists the _verified_ public SSH keys for a user. This is accessible by anyone.\n */\nexport const fetchUsersListPublicKeysForUser = (\n  variables: UsersListPublicKeysForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    UsersListPublicKeysForUserResponse,\n    UsersListPublicKeysForUserError,\n    undefined,\n    {},\n    UsersListPublicKeysForUserQueryParams,\n    UsersListPublicKeysForUserPathParams\n  >({ url: '/users/{username}/keys', method: 'get', ...variables, signal });\n\n/**\n * Lists the _verified_ public SSH keys for a user. This is accessible by anyone.\n */\nexport const useUsersListPublicKeysForUser = <\n  TData = UsersListPublicKeysForUserResponse,\n>(\n  variables: UsersListPublicKeysForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      UsersListPublicKeysForUserResponse,\n      UsersListPublicKeysForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    UsersListPublicKeysForUserResponse,\n    UsersListPublicKeysForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/keys',\n      operationId: 'usersListPublicKeysForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchUsersListPublicKeysForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type OrgsListForUserPathParams = {\n  username: string;\n};\n\nexport type OrgsListForUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type OrgsListForUserError = Fetcher.ErrorWrapper<undefined>;\n\nexport type OrgsListForUserResponse = Schemas.OrganizationSimple[];\n\nexport type OrgsListForUserVariables = {\n  pathParams: OrgsListForUserPathParams;\n  queryParams?: OrgsListForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user.\n *\n * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead.\n */\nexport const fetchOrgsListForUser = (\n  variables: OrgsListForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    OrgsListForUserResponse,\n    OrgsListForUserError,\n    undefined,\n    {},\n    OrgsListForUserQueryParams,\n    OrgsListForUserPathParams\n  >({ url: '/users/{username}/orgs', method: 'get', ...variables, signal });\n\n/**\n * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user.\n *\n * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead.\n */\nexport const useOrgsListForUser = <TData = OrgsListForUserResponse>(\n  variables: OrgsListForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      OrgsListForUserResponse,\n      OrgsListForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    OrgsListForUserResponse,\n    OrgsListForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/orgs',\n      operationId: 'orgsListForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchOrgsListForUser({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PackagesGetPackageForUserPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  username: string;\n};\n\nexport type PackagesGetPackageForUserError = Fetcher.ErrorWrapper<undefined>;\n\nexport type PackagesGetPackageForUserVariables = {\n  pathParams: PackagesGetPackageForUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific package metadata for a public package owned by a user.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesGetPackageForUser = (\n  variables: PackagesGetPackageForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.Package,\n    PackagesGetPackageForUserError,\n    undefined,\n    {},\n    {},\n    PackagesGetPackageForUserPathParams\n  >({\n    url: '/users/{username}/packages/{packageType}/{packageName}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific package metadata for a public package owned by a user.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesGetPackageForUser = <TData = Schemas.Package>(\n  variables: PackagesGetPackageForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.Package,\n      PackagesGetPackageForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.Package,\n    PackagesGetPackageForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/packages/{package_type}/{package_name}',\n      operationId: 'packagesGetPackageForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPackagesGetPackageForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByUserPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  username: string;\n};\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByUserError =\n  Fetcher.ErrorWrapper<\n    | {\n        status: 401;\n        payload: Responses.RequiresAuthentication;\n      }\n    | {\n        status: 403;\n        payload: Responses.Forbidden;\n      }\n    | {\n        status: 404;\n        payload: Responses.NotFound;\n      }\n  >;\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByUserResponse =\n  Schemas.PackageVersion[];\n\nexport type PackagesGetAllPackageVersionsForPackageOwnedByUserVariables = {\n  pathParams: PackagesGetAllPackageVersionsForPackageOwnedByUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Returns all package versions for a public package owned by a specified user.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesGetAllPackageVersionsForPackageOwnedByUser = (\n  variables: PackagesGetAllPackageVersionsForPackageOwnedByUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    PackagesGetAllPackageVersionsForPackageOwnedByUserResponse,\n    PackagesGetAllPackageVersionsForPackageOwnedByUserError,\n    undefined,\n    {},\n    {},\n    PackagesGetAllPackageVersionsForPackageOwnedByUserPathParams\n  >({\n    url: '/users/{username}/packages/{packageType}/{packageName}/versions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Returns all package versions for a public package owned by a specified user.\n *\n * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesGetAllPackageVersionsForPackageOwnedByUser = <\n  TData = PackagesGetAllPackageVersionsForPackageOwnedByUserResponse,\n>(\n  variables: PackagesGetAllPackageVersionsForPackageOwnedByUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      PackagesGetAllPackageVersionsForPackageOwnedByUserResponse,\n      PackagesGetAllPackageVersionsForPackageOwnedByUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    PackagesGetAllPackageVersionsForPackageOwnedByUserResponse,\n    PackagesGetAllPackageVersionsForPackageOwnedByUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/packages/{package_type}/{package_name}/versions',\n      operationId: 'packagesGetAllPackageVersionsForPackageOwnedByUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPackagesGetAllPackageVersionsForPackageOwnedByUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type PackagesGetPackageVersionForUserPathParams = {\n  /**\n   * The type of supported package. Can be one of `npm`, `maven`, `rubygems`, `nuget`, `docker`, or `container`. For Docker images that use the package namespace `https://ghcr.io/owner/package-name`, use `container`.\n   */\n  packageType: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * The name of the package.\n   */\n  packageName: string;\n  /**\n   * Unique identifier of the package version.\n   */\n  packageVersionId: number;\n  username: string;\n};\n\nexport type PackagesGetPackageVersionForUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type PackagesGetPackageVersionForUserVariables = {\n  pathParams: PackagesGetPackageVersionForUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets a specific package version for a public package owned by a specified user.\n *\n * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const fetchPackagesGetPackageVersionForUser = (\n  variables: PackagesGetPackageVersionForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PackageVersion,\n    PackagesGetPackageVersionForUserError,\n    undefined,\n    {},\n    {},\n    PackagesGetPackageVersionForUserPathParams\n  >({\n    url: '/users/{username}/packages/{packageType}/{packageName}/versions/{packageVersionId}',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets a specific package version for a public package owned by a specified user.\n *\n * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope.\n * If `package_type` is not `container`, your token must also include the `repo` scope.\n */\nexport const usePackagesGetPackageVersionForUser = <\n  TData = Schemas.PackageVersion,\n>(\n  variables: PackagesGetPackageVersionForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PackageVersion,\n      PackagesGetPackageVersionForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.PackageVersion,\n    PackagesGetPackageVersionForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}',\n      operationId: 'packagesGetPackageVersionForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchPackagesGetPackageVersionForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ProjectsListForUserPathParams = {\n  username: string;\n};\n\nexport type ProjectsListForUserQueryParams = {\n  /**\n   * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`.\n   *\n   * @default open\n   */\n  state?: 'open' | 'closed' | 'all';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ProjectsListForUserError = Fetcher.ErrorWrapper<\n  | {\n      status: 415;\n      payload: Responses.PreviewHeaderMissing;\n    }\n  | {\n      status: 422;\n      payload: Responses.ValidationFailed;\n    }\n>;\n\nexport type ProjectsListForUserResponse = Schemas.Project[];\n\nexport type ProjectsListForUserVariables = {\n  pathParams: ProjectsListForUserPathParams;\n  queryParams?: ProjectsListForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchProjectsListForUser = (\n  variables: ProjectsListForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ProjectsListForUserResponse,\n    ProjectsListForUserError,\n    undefined,\n    {},\n    ProjectsListForUserQueryParams,\n    ProjectsListForUserPathParams\n  >({ url: '/users/{username}/projects', method: 'get', ...variables, signal });\n\nexport const useProjectsListForUser = <TData = ProjectsListForUserResponse>(\n  variables: ProjectsListForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ProjectsListForUserResponse,\n      ProjectsListForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ProjectsListForUserResponse,\n    ProjectsListForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/projects',\n      operationId: 'projectsListForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchProjectsListForUser({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityListReceivedEventsForUserPathParams = {\n  username: string;\n};\n\nexport type ActivityListReceivedEventsForUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListReceivedEventsForUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityListReceivedEventsForUserResponse = Schemas.Event[];\n\nexport type ActivityListReceivedEventsForUserVariables = {\n  pathParams: ActivityListReceivedEventsForUserPathParams;\n  queryParams?: ActivityListReceivedEventsForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events.\n */\nexport const fetchActivityListReceivedEventsForUser = (\n  variables: ActivityListReceivedEventsForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListReceivedEventsForUserResponse,\n    ActivityListReceivedEventsForUserError,\n    undefined,\n    {},\n    ActivityListReceivedEventsForUserQueryParams,\n    ActivityListReceivedEventsForUserPathParams\n  >({\n    url: '/users/{username}/received_events',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events.\n */\nexport const useActivityListReceivedEventsForUser = <\n  TData = ActivityListReceivedEventsForUserResponse,\n>(\n  variables: ActivityListReceivedEventsForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListReceivedEventsForUserResponse,\n      ActivityListReceivedEventsForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListReceivedEventsForUserResponse,\n    ActivityListReceivedEventsForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/received_events',\n      operationId: 'activityListReceivedEventsForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListReceivedEventsForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityListReceivedPublicEventsForUserPathParams = {\n  username: string;\n};\n\nexport type ActivityListReceivedPublicEventsForUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListReceivedPublicEventsForUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityListReceivedPublicEventsForUserResponse = Schemas.Event[];\n\nexport type ActivityListReceivedPublicEventsForUserVariables = {\n  pathParams: ActivityListReceivedPublicEventsForUserPathParams;\n  queryParams?: ActivityListReceivedPublicEventsForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\nexport const fetchActivityListReceivedPublicEventsForUser = (\n  variables: ActivityListReceivedPublicEventsForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListReceivedPublicEventsForUserResponse,\n    ActivityListReceivedPublicEventsForUserError,\n    undefined,\n    {},\n    ActivityListReceivedPublicEventsForUserQueryParams,\n    ActivityListReceivedPublicEventsForUserPathParams\n  >({\n    url: '/users/{username}/received_events/public',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\nexport const useActivityListReceivedPublicEventsForUser = <\n  TData = ActivityListReceivedPublicEventsForUserResponse,\n>(\n  variables: ActivityListReceivedPublicEventsForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListReceivedPublicEventsForUserResponse,\n      ActivityListReceivedPublicEventsForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListReceivedPublicEventsForUserResponse,\n    ActivityListReceivedPublicEventsForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/received_events/public',\n      operationId: 'activityListReceivedPublicEventsForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListReceivedPublicEventsForUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ReposListForUserPathParams = {\n  username: string;\n};\n\nexport type ReposListForUserQueryParams = {\n  /**\n   * Can be one of `all`, `owner`, `member`.\n   *\n   * @default owner\n   */\n  type?: 'all' | 'owner' | 'member';\n  /**\n   * Can be one of `created`, `updated`, `pushed`, `full_name`.\n   *\n   * @default full_name\n   */\n  sort?: 'created' | 'updated' | 'pushed' | 'full_name';\n  /**\n   * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc`\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ReposListForUserError = Fetcher.ErrorWrapper<undefined>;\n\nexport type ReposListForUserResponse = Schemas.MinimalRepository[];\n\nexport type ReposListForUserVariables = {\n  pathParams: ReposListForUserPathParams;\n  queryParams?: ReposListForUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user.\n */\nexport const fetchReposListForUser = (\n  variables: ReposListForUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ReposListForUserResponse,\n    ReposListForUserError,\n    undefined,\n    {},\n    ReposListForUserQueryParams,\n    ReposListForUserPathParams\n  >({ url: '/users/{username}/repos', method: 'get', ...variables, signal });\n\n/**\n * Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user.\n */\nexport const useReposListForUser = <TData = ReposListForUserResponse>(\n  variables: ReposListForUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ReposListForUserResponse,\n      ReposListForUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ReposListForUserResponse,\n    ReposListForUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/repos',\n      operationId: 'reposListForUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchReposListForUser({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type BillingGetGithubActionsBillingUserPathParams = {\n  username: string;\n};\n\nexport type BillingGetGithubActionsBillingUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type BillingGetGithubActionsBillingUserVariables = {\n  pathParams: BillingGetGithubActionsBillingUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the summary of the free and paid GitHub Actions minutes used.\n *\n * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n *\n * Access tokens must have the `user` scope.\n */\nexport const fetchBillingGetGithubActionsBillingUser = (\n  variables: BillingGetGithubActionsBillingUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.ActionsBillingUsage,\n    BillingGetGithubActionsBillingUserError,\n    undefined,\n    {},\n    {},\n    BillingGetGithubActionsBillingUserPathParams\n  >({\n    url: '/users/{username}/settings/billing/actions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the summary of the free and paid GitHub Actions minutes used.\n *\n * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"[Managing billing for GitHub Actions](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)\".\n *\n * Access tokens must have the `user` scope.\n */\nexport const useBillingGetGithubActionsBillingUser = <\n  TData = Schemas.ActionsBillingUsage,\n>(\n  variables: BillingGetGithubActionsBillingUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.ActionsBillingUsage,\n      BillingGetGithubActionsBillingUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.ActionsBillingUsage,\n    BillingGetGithubActionsBillingUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/settings/billing/actions',\n      operationId: 'billingGetGithubActionsBillingUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchBillingGetGithubActionsBillingUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type BillingGetGithubPackagesBillingUserPathParams = {\n  username: string;\n};\n\nexport type BillingGetGithubPackagesBillingUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type BillingGetGithubPackagesBillingUserVariables = {\n  pathParams: BillingGetGithubPackagesBillingUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the free and paid storage used for GitHub Packages in gigabytes.\n *\n * Paid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n *\n * Access tokens must have the `user` scope.\n */\nexport const fetchBillingGetGithubPackagesBillingUser = (\n  variables: BillingGetGithubPackagesBillingUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.PackagesBillingUsage,\n    BillingGetGithubPackagesBillingUserError,\n    undefined,\n    {},\n    {},\n    BillingGetGithubPackagesBillingUserPathParams\n  >({\n    url: '/users/{username}/settings/billing/packages',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the free and paid storage used for GitHub Packages in gigabytes.\n *\n * Paid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n *\n * Access tokens must have the `user` scope.\n */\nexport const useBillingGetGithubPackagesBillingUser = <\n  TData = Schemas.PackagesBillingUsage,\n>(\n  variables: BillingGetGithubPackagesBillingUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.PackagesBillingUsage,\n      BillingGetGithubPackagesBillingUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.PackagesBillingUsage,\n    BillingGetGithubPackagesBillingUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/settings/billing/packages',\n      operationId: 'billingGetGithubPackagesBillingUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchBillingGetGithubPackagesBillingUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type BillingGetSharedStorageBillingUserPathParams = {\n  username: string;\n};\n\nexport type BillingGetSharedStorageBillingUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type BillingGetSharedStorageBillingUserVariables = {\n  pathParams: BillingGetSharedStorageBillingUserPathParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.\n *\n * Paid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n *\n * Access tokens must have the `user` scope.\n */\nexport const fetchBillingGetSharedStorageBillingUser = (\n  variables: BillingGetSharedStorageBillingUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    Schemas.CombinedBillingUsage,\n    BillingGetSharedStorageBillingUserError,\n    undefined,\n    {},\n    {},\n    BillingGetSharedStorageBillingUserPathParams\n  >({\n    url: '/users/{username}/settings/billing/shared-storage',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Gets the estimated paid and estimated total storage used for GitHub Actions and Github Packages.\n *\n * Paid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n *\n * Access tokens must have the `user` scope.\n */\nexport const useBillingGetSharedStorageBillingUser = <\n  TData = Schemas.CombinedBillingUsage,\n>(\n  variables: BillingGetSharedStorageBillingUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      Schemas.CombinedBillingUsage,\n      BillingGetSharedStorageBillingUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    Schemas.CombinedBillingUsage,\n    BillingGetSharedStorageBillingUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/settings/billing/shared-storage',\n      operationId: 'billingGetSharedStorageBillingUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchBillingGetSharedStorageBillingUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityListReposStarredByUserPathParams = {\n  username: string;\n};\n\nexport type ActivityListReposStarredByUserQueryParams = {\n  /**\n   * One of `created` (when the repository was starred) or `updated` (when it was last pushed to).\n   *\n   * @default created\n   */\n  sort?: 'created' | 'updated';\n  /**\n   * One of `asc` (ascending) or `desc` (descending).\n   *\n   * @default desc\n   */\n  direction?: 'asc' | 'desc';\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListReposStarredByUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityListReposStarredByUserResponse = Schemas.Repository[];\n\nexport type ActivityListReposStarredByUserVariables = {\n  pathParams: ActivityListReposStarredByUserPathParams;\n  queryParams?: ActivityListReposStarredByUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists repositories a user has starred.\n *\n * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:\n */\nexport const fetchActivityListReposStarredByUser = (\n  variables: ActivityListReposStarredByUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListReposStarredByUserResponse,\n    ActivityListReposStarredByUserError,\n    undefined,\n    {},\n    ActivityListReposStarredByUserQueryParams,\n    ActivityListReposStarredByUserPathParams\n  >({ url: '/users/{username}/starred', method: 'get', ...variables, signal });\n\n/**\n * Lists repositories a user has starred.\n *\n * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:\n */\nexport const useActivityListReposStarredByUser = <\n  TData = ActivityListReposStarredByUserResponse,\n>(\n  variables: ActivityListReposStarredByUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListReposStarredByUserResponse,\n      ActivityListReposStarredByUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListReposStarredByUserResponse,\n    ActivityListReposStarredByUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/starred',\n      operationId: 'activityListReposStarredByUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListReposStarredByUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type ActivityListReposWatchedByUserPathParams = {\n  username: string;\n};\n\nexport type ActivityListReposWatchedByUserQueryParams = {\n  /**\n   * Results per page (max 100).\n   *\n   * @default 30\n   */\n  per_page?: number;\n  /**\n   * Page number of the results to fetch.\n   *\n   * @default 1\n   */\n  page?: number;\n};\n\nexport type ActivityListReposWatchedByUserError =\n  Fetcher.ErrorWrapper<undefined>;\n\nexport type ActivityListReposWatchedByUserResponse =\n  Schemas.MinimalRepository[];\n\nexport type ActivityListReposWatchedByUserVariables = {\n  pathParams: ActivityListReposWatchedByUserPathParams;\n  queryParams?: ActivityListReposWatchedByUserQueryParams;\n} & GithubContext['fetcherOptions'];\n\n/**\n * Lists repositories a user is watching.\n */\nexport const fetchActivityListReposWatchedByUser = (\n  variables: ActivityListReposWatchedByUserVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<\n    ActivityListReposWatchedByUserResponse,\n    ActivityListReposWatchedByUserError,\n    undefined,\n    {},\n    ActivityListReposWatchedByUserQueryParams,\n    ActivityListReposWatchedByUserPathParams\n  >({\n    url: '/users/{username}/subscriptions',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Lists repositories a user is watching.\n */\nexport const useActivityListReposWatchedByUser = <\n  TData = ActivityListReposWatchedByUserResponse,\n>(\n  variables: ActivityListReposWatchedByUserVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<\n      ActivityListReposWatchedByUserResponse,\n      ActivityListReposWatchedByUserError,\n      TData\n    >,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<\n    ActivityListReposWatchedByUserResponse,\n    ActivityListReposWatchedByUserError,\n    TData\n  >(\n    queryKeyFn({\n      path: '/users/{username}/subscriptions',\n      operationId: 'activityListReposWatchedByUser',\n      variables,\n    }),\n    ({ signal }) =>\n      fetchActivityListReposWatchedByUser(\n        { ...fetcherOptions, ...variables },\n        signal,\n      ),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type MetaGetZenError = Fetcher.ErrorWrapper<undefined>;\n\nexport type MetaGetZenVariables = GithubContext['fetcherOptions'];\n\n/**\n * Get a random sentence from the Zen of GitHub\n */\nexport const fetchMetaGetZen = (\n  variables: MetaGetZenVariables,\n  signal?: AbortSignal,\n) =>\n  githubFetch<undefined, MetaGetZenError, undefined, {}, {}, {}>({\n    url: '/zen',\n    method: 'get',\n    ...variables,\n    signal,\n  });\n\n/**\n * Get a random sentence from the Zen of GitHub\n */\nexport const useMetaGetZen = <TData = undefined>(\n  variables: MetaGetZenVariables,\n  options?: Omit<\n    reactQuery.UseQueryOptions<undefined, MetaGetZenError, TData>,\n    'queryKey' | 'queryFn'\n  >,\n) => {\n  const { fetcherOptions, queryOptions, queryKeyFn } =\n    useGithubContext(options);\n  return reactQuery.useQuery<undefined, MetaGetZenError, TData>(\n    queryKeyFn({ path: '/zen', operationId: 'metaGetZen', variables }),\n    ({ signal }) =>\n      fetchMetaGetZen({ ...fetcherOptions, ...variables }, signal),\n    {\n      ...options,\n      ...queryOptions,\n    },\n  );\n};\n\nexport type QueryOperation =\n  | {\n      path: '/';\n      operationId: 'metaRoot';\n      variables: MetaRootVariables;\n    }\n  | {\n      path: '/app';\n      operationId: 'appsGetAuthenticated';\n      variables: AppsGetAuthenticatedVariables;\n    }\n  | {\n      path: '/app/hook/config';\n      operationId: 'appsGetWebhookConfigForApp';\n      variables: AppsGetWebhookConfigForAppVariables;\n    }\n  | {\n      path: '/app/installations';\n      operationId: 'appsListInstallations';\n      variables: AppsListInstallationsVariables;\n    }\n  | {\n      path: '/app/installations/{installation_id}';\n      operationId: 'appsGetInstallation';\n      variables: AppsGetInstallationVariables;\n    }\n  | {\n      path: '/applications/grants';\n      operationId: 'oauthAuthorizationsListGrants';\n      variables: OauthAuthorizationsListGrantsVariables;\n    }\n  | {\n      path: '/applications/grants/{grant_id}';\n      operationId: 'oauthAuthorizationsGetGrant';\n      variables: OauthAuthorizationsGetGrantVariables;\n    }\n  | {\n      path: '/applications/{client_id}/tokens/{access_token}';\n      operationId: 'appsCheckAuthorization';\n      variables: AppsCheckAuthorizationVariables;\n    }\n  | {\n      path: '/apps/{app_slug}';\n      operationId: 'appsGetBySlug';\n      variables: AppsGetBySlugVariables;\n    }\n  | {\n      path: '/authorizations';\n      operationId: 'oauthAuthorizationsListAuthorizations';\n      variables: OauthAuthorizationsListAuthorizationsVariables;\n    }\n  | {\n      path: '/authorizations/{authorization_id}';\n      operationId: 'oauthAuthorizationsGetAuthorization';\n      variables: OauthAuthorizationsGetAuthorizationVariables;\n    }\n  | {\n      path: '/codes_of_conduct';\n      operationId: 'codesOfConductGetAllCodesOfConduct';\n      variables: CodesOfConductGetAllCodesOfConductVariables;\n    }\n  | {\n      path: '/codes_of_conduct/{key}';\n      operationId: 'codesOfConductGetConductCode';\n      variables: CodesOfConductGetConductCodeVariables;\n    }\n  | {\n      path: '/emojis';\n      operationId: 'emojisGet';\n      variables: EmojisGetVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/actions/permissions';\n      operationId: 'enterpriseAdminGetGithubActionsPermissionsEnterprise';\n      variables: EnterpriseAdminGetGithubActionsPermissionsEnterpriseVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/actions/permissions/organizations';\n      operationId: 'enterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterprise';\n      variables: EnterpriseAdminListSelectedOrganizationsEnabledGithubActionsEnterpriseVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/actions/permissions/selected-actions';\n      operationId: 'enterpriseAdminGetAllowedActionsEnterprise';\n      variables: EnterpriseAdminGetAllowedActionsEnterpriseVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/actions/runner-groups';\n      operationId: 'enterpriseAdminListSelfHostedRunnerGroupsForEnterprise';\n      variables: EnterpriseAdminListSelfHostedRunnerGroupsForEnterpriseVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}';\n      operationId: 'enterpriseAdminGetSelfHostedRunnerGroupForEnterprise';\n      variables: EnterpriseAdminGetSelfHostedRunnerGroupForEnterpriseVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations';\n      operationId: 'enterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterprise';\n      variables: EnterpriseAdminListOrgAccessToSelfHostedRunnerGroupInEnterpriseVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners';\n      operationId: 'enterpriseAdminListSelfHostedRunnersInGroupForEnterprise';\n      variables: EnterpriseAdminListSelfHostedRunnersInGroupForEnterpriseVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/actions/runners';\n      operationId: 'enterpriseAdminListSelfHostedRunnersForEnterprise';\n      variables: EnterpriseAdminListSelfHostedRunnersForEnterpriseVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/actions/runners/downloads';\n      operationId: 'enterpriseAdminListRunnerApplicationsForEnterprise';\n      variables: EnterpriseAdminListRunnerApplicationsForEnterpriseVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/actions/runners/{runner_id}';\n      operationId: 'enterpriseAdminGetSelfHostedRunnerForEnterprise';\n      variables: EnterpriseAdminGetSelfHostedRunnerForEnterpriseVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/audit-log';\n      operationId: 'auditLogGetAuditLog';\n      variables: AuditLogGetAuditLogVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/settings/billing/actions';\n      operationId: 'billingGetGithubActionsBillingGhe';\n      variables: BillingGetGithubActionsBillingGheVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/settings/billing/packages';\n      operationId: 'billingGetGithubPackagesBillingGhe';\n      variables: BillingGetGithubPackagesBillingGheVariables;\n    }\n  | {\n      path: '/enterprises/{enterprise}/settings/billing/shared-storage';\n      operationId: 'billingGetSharedStorageBillingGhe';\n      variables: BillingGetSharedStorageBillingGheVariables;\n    }\n  | {\n      path: '/events';\n      operationId: 'activityListPublicEvents';\n      variables: ActivityListPublicEventsVariables;\n    }\n  | {\n      path: '/feeds';\n      operationId: 'activityGetFeeds';\n      variables: ActivityGetFeedsVariables;\n    }\n  | {\n      path: '/gists';\n      operationId: 'gistsList';\n      variables: GistsListVariables;\n    }\n  | {\n      path: '/gists/public';\n      operationId: 'gistsListPublic';\n      variables: GistsListPublicVariables;\n    }\n  | {\n      path: '/gists/starred';\n      operationId: 'gistsListStarred';\n      variables: GistsListStarredVariables;\n    }\n  | {\n      path: '/gists/{gist_id}';\n      operationId: 'gistsGet';\n      variables: GistsGetVariables;\n    }\n  | {\n      path: '/gists/{gist_id}/comments';\n      operationId: 'gistsListComments';\n      variables: GistsListCommentsVariables;\n    }\n  | {\n      path: '/gists/{gist_id}/comments/{comment_id}';\n      operationId: 'gistsGetComment';\n      variables: GistsGetCommentVariables;\n    }\n  | {\n      path: '/gists/{gist_id}/commits';\n      operationId: 'gistsListCommits';\n      variables: GistsListCommitsVariables;\n    }\n  | {\n      path: '/gists/{gist_id}/forks';\n      operationId: 'gistsListForks';\n      variables: GistsListForksVariables;\n    }\n  | {\n      path: '/gists/{gist_id}/star';\n      operationId: 'gistsCheckIsStarred';\n      variables: GistsCheckIsStarredVariables;\n    }\n  | {\n      path: '/gists/{gist_id}/{sha}';\n      operationId: 'gistsGetRevision';\n      variables: GistsGetRevisionVariables;\n    }\n  | {\n      path: '/gitignore/templates';\n      operationId: 'gitignoreGetAllTemplates';\n      variables: GitignoreGetAllTemplatesVariables;\n    }\n  | {\n      path: '/gitignore/templates/{name}';\n      operationId: 'gitignoreGetTemplate';\n      variables: GitignoreGetTemplateVariables;\n    }\n  | {\n      path: '/installation/repositories';\n      operationId: 'appsListReposAccessibleToInstallation';\n      variables: AppsListReposAccessibleToInstallationVariables;\n    }\n  | {\n      path: '/issues';\n      operationId: 'issuesList';\n      variables: IssuesListVariables;\n    }\n  | {\n      path: '/licenses';\n      operationId: 'licensesGetAllCommonlyUsed';\n      variables: LicensesGetAllCommonlyUsedVariables;\n    }\n  | {\n      path: '/licenses/{license}';\n      operationId: 'licensesGet';\n      variables: LicensesGetVariables;\n    }\n  | {\n      path: '/marketplace_listing/accounts/{account_id}';\n      operationId: 'appsGetSubscriptionPlanForAccount';\n      variables: AppsGetSubscriptionPlanForAccountVariables;\n    }\n  | {\n      path: '/marketplace_listing/plans';\n      operationId: 'appsListPlans';\n      variables: AppsListPlansVariables;\n    }\n  | {\n      path: '/marketplace_listing/plans/{plan_id}/accounts';\n      operationId: 'appsListAccountsForPlan';\n      variables: AppsListAccountsForPlanVariables;\n    }\n  | {\n      path: '/marketplace_listing/stubbed/accounts/{account_id}';\n      operationId: 'appsGetSubscriptionPlanForAccountStubbed';\n      variables: AppsGetSubscriptionPlanForAccountStubbedVariables;\n    }\n  | {\n      path: '/marketplace_listing/stubbed/plans';\n      operationId: 'appsListPlansStubbed';\n      variables: AppsListPlansStubbedVariables;\n    }\n  | {\n      path: '/marketplace_listing/stubbed/plans/{plan_id}/accounts';\n      operationId: 'appsListAccountsForPlanStubbed';\n      variables: AppsListAccountsForPlanStubbedVariables;\n    }\n  | {\n      path: '/meta';\n      operationId: 'metaGet';\n      variables: MetaGetVariables;\n    }\n  | {\n      path: '/networks/{owner}/{repo}/events';\n      operationId: 'activityListPublicEventsForRepoNetwork';\n      variables: ActivityListPublicEventsForRepoNetworkVariables;\n    }\n  | {\n      path: '/notifications';\n      operationId: 'activityListNotificationsForAuthenticatedUser';\n      variables: ActivityListNotificationsForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/notifications/threads/{thread_id}';\n      operationId: 'activityGetThread';\n      variables: ActivityGetThreadVariables;\n    }\n  | {\n      path: '/notifications/threads/{thread_id}/subscription';\n      operationId: 'activityGetThreadSubscriptionForAuthenticatedUser';\n      variables: ActivityGetThreadSubscriptionForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/octocat';\n      operationId: 'metaGetOctocat';\n      variables: MetaGetOctocatVariables;\n    }\n  | {\n      path: '/organizations';\n      operationId: 'orgsList';\n      variables: OrgsListVariables;\n    }\n  | {\n      path: '/orgs/{org}';\n      operationId: 'orgsGet';\n      variables: OrgsGetVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/permissions';\n      operationId: 'actionsGetGithubActionsPermissionsOrganization';\n      variables: ActionsGetGithubActionsPermissionsOrganizationVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/permissions/repositories';\n      operationId: 'actionsListSelectedRepositoriesEnabledGithubActionsOrganization';\n      variables: ActionsListSelectedRepositoriesEnabledGithubActionsOrganizationVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/permissions/selected-actions';\n      operationId: 'actionsGetAllowedActionsOrganization';\n      variables: ActionsGetAllowedActionsOrganizationVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/runner-groups';\n      operationId: 'actionsListSelfHostedRunnerGroupsForOrg';\n      variables: ActionsListSelfHostedRunnerGroupsForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/runner-groups/{runner_group_id}';\n      operationId: 'actionsGetSelfHostedRunnerGroupForOrg';\n      variables: ActionsGetSelfHostedRunnerGroupForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories';\n      operationId: 'actionsListRepoAccessToSelfHostedRunnerGroupInOrg';\n      variables: ActionsListRepoAccessToSelfHostedRunnerGroupInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/runner-groups/{runner_group_id}/runners';\n      operationId: 'actionsListSelfHostedRunnersInGroupForOrg';\n      variables: ActionsListSelfHostedRunnersInGroupForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/runners';\n      operationId: 'actionsListSelfHostedRunnersForOrg';\n      variables: ActionsListSelfHostedRunnersForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/runners/downloads';\n      operationId: 'actionsListRunnerApplicationsForOrg';\n      variables: ActionsListRunnerApplicationsForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/runners/{runner_id}';\n      operationId: 'actionsGetSelfHostedRunnerForOrg';\n      variables: ActionsGetSelfHostedRunnerForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/secrets';\n      operationId: 'actionsListOrgSecrets';\n      variables: ActionsListOrgSecretsVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/secrets/public-key';\n      operationId: 'actionsGetOrgPublicKey';\n      variables: ActionsGetOrgPublicKeyVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/secrets/{secret_name}';\n      operationId: 'actionsGetOrgSecret';\n      variables: ActionsGetOrgSecretVariables;\n    }\n  | {\n      path: '/orgs/{org}/actions/secrets/{secret_name}/repositories';\n      operationId: 'actionsListSelectedReposForOrgSecret';\n      variables: ActionsListSelectedReposForOrgSecretVariables;\n    }\n  | {\n      path: '/orgs/{org}/audit-log';\n      operationId: 'orgsGetAuditLog';\n      variables: OrgsGetAuditLogVariables;\n    }\n  | {\n      path: '/orgs/{org}/blocks';\n      operationId: 'orgsListBlockedUsers';\n      variables: OrgsListBlockedUsersVariables;\n    }\n  | {\n      path: '/orgs/{org}/blocks/{username}';\n      operationId: 'orgsCheckBlockedUser';\n      variables: OrgsCheckBlockedUserVariables;\n    }\n  | {\n      path: '/orgs/{org}/credential-authorizations';\n      operationId: 'orgsListSamlSsoAuthorizations';\n      variables: OrgsListSamlSsoAuthorizationsVariables;\n    }\n  | {\n      path: '/orgs/{org}/events';\n      operationId: 'activityListPublicOrgEvents';\n      variables: ActivityListPublicOrgEventsVariables;\n    }\n  | {\n      path: '/orgs/{org}/failed_invitations';\n      operationId: 'orgsListFailedInvitations';\n      variables: OrgsListFailedInvitationsVariables;\n    }\n  | {\n      path: '/orgs/{org}/hooks';\n      operationId: 'orgsListWebhooks';\n      variables: OrgsListWebhooksVariables;\n    }\n  | {\n      path: '/orgs/{org}/hooks/{hook_id}';\n      operationId: 'orgsGetWebhook';\n      variables: OrgsGetWebhookVariables;\n    }\n  | {\n      path: '/orgs/{org}/hooks/{hook_id}/config';\n      operationId: 'orgsGetWebhookConfigForOrg';\n      variables: OrgsGetWebhookConfigForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/installation';\n      operationId: 'appsGetOrgInstallation';\n      variables: AppsGetOrgInstallationVariables;\n    }\n  | {\n      path: '/orgs/{org}/installations';\n      operationId: 'orgsListAppInstallations';\n      variables: OrgsListAppInstallationsVariables;\n    }\n  | {\n      path: '/orgs/{org}/interaction-limits';\n      operationId: 'interactionsGetRestrictionsForOrg';\n      variables: InteractionsGetRestrictionsForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/invitations';\n      operationId: 'orgsListPendingInvitations';\n      variables: OrgsListPendingInvitationsVariables;\n    }\n  | {\n      path: '/orgs/{org}/invitations/{invitation_id}/teams';\n      operationId: 'orgsListInvitationTeams';\n      variables: OrgsListInvitationTeamsVariables;\n    }\n  | {\n      path: '/orgs/{org}/issues';\n      operationId: 'issuesListForOrg';\n      variables: IssuesListForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/members';\n      operationId: 'orgsListMembers';\n      variables: OrgsListMembersVariables;\n    }\n  | {\n      path: '/orgs/{org}/members/{username}';\n      operationId: 'orgsCheckMembershipForUser';\n      variables: OrgsCheckMembershipForUserVariables;\n    }\n  | {\n      path: '/orgs/{org}/memberships/{username}';\n      operationId: 'orgsGetMembershipForUser';\n      variables: OrgsGetMembershipForUserVariables;\n    }\n  | {\n      path: '/orgs/{org}/migrations';\n      operationId: 'migrationsListForOrg';\n      variables: MigrationsListForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/migrations/{migration_id}';\n      operationId: 'migrationsGetStatusForOrg';\n      variables: MigrationsGetStatusForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/migrations/{migration_id}/archive';\n      operationId: 'migrationsDownloadArchiveForOrg';\n      variables: MigrationsDownloadArchiveForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/migrations/{migration_id}/repositories';\n      operationId: 'migrationsListReposForOrg';\n      variables: MigrationsListReposForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/outside_collaborators';\n      operationId: 'orgsListOutsideCollaborators';\n      variables: OrgsListOutsideCollaboratorsVariables;\n    }\n  | {\n      path: '/orgs/{org}/packages/{package_type}/{package_name}';\n      operationId: 'packagesGetPackageForOrganization';\n      variables: PackagesGetPackageForOrganizationVariables;\n    }\n  | {\n      path: '/orgs/{org}/packages/{package_type}/{package_name}/versions';\n      operationId: 'packagesGetAllPackageVersionsForPackageOwnedByOrg';\n      variables: PackagesGetAllPackageVersionsForPackageOwnedByOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}';\n      operationId: 'packagesGetPackageVersionForOrganization';\n      variables: PackagesGetPackageVersionForOrganizationVariables;\n    }\n  | {\n      path: '/orgs/{org}/projects';\n      operationId: 'projectsListForOrg';\n      variables: ProjectsListForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/public_members';\n      operationId: 'orgsListPublicMembers';\n      variables: OrgsListPublicMembersVariables;\n    }\n  | {\n      path: '/orgs/{org}/public_members/{username}';\n      operationId: 'orgsCheckPublicMembershipForUser';\n      variables: OrgsCheckPublicMembershipForUserVariables;\n    }\n  | {\n      path: '/orgs/{org}/repos';\n      operationId: 'reposListForOrg';\n      variables: ReposListForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/settings/billing/actions';\n      operationId: 'billingGetGithubActionsBillingOrg';\n      variables: BillingGetGithubActionsBillingOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/settings/billing/packages';\n      operationId: 'billingGetGithubPackagesBillingOrg';\n      variables: BillingGetGithubPackagesBillingOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/settings/billing/shared-storage';\n      operationId: 'billingGetSharedStorageBillingOrg';\n      variables: BillingGetSharedStorageBillingOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/team-sync/groups';\n      operationId: 'teamsListIdpGroupsForOrg';\n      variables: TeamsListIdpGroupsForOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams';\n      operationId: 'teamsList';\n      variables: TeamsListVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}';\n      operationId: 'teamsGetByName';\n      variables: TeamsGetByNameVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/discussions';\n      operationId: 'teamsListDiscussionsInOrg';\n      variables: TeamsListDiscussionsInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}';\n      operationId: 'teamsGetDiscussionInOrg';\n      variables: TeamsGetDiscussionInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments';\n      operationId: 'teamsListDiscussionCommentsInOrg';\n      variables: TeamsListDiscussionCommentsInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}';\n      operationId: 'teamsGetDiscussionCommentInOrg';\n      variables: TeamsGetDiscussionCommentInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions';\n      operationId: 'reactionsListForTeamDiscussionCommentInOrg';\n      variables: ReactionsListForTeamDiscussionCommentInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions';\n      operationId: 'reactionsListForTeamDiscussionInOrg';\n      variables: ReactionsListForTeamDiscussionInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/invitations';\n      operationId: 'teamsListPendingInvitationsInOrg';\n      variables: TeamsListPendingInvitationsInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/members';\n      operationId: 'teamsListMembersInOrg';\n      variables: TeamsListMembersInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/memberships/{username}';\n      operationId: 'teamsGetMembershipForUserInOrg';\n      variables: TeamsGetMembershipForUserInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/projects';\n      operationId: 'teamsListProjectsInOrg';\n      variables: TeamsListProjectsInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/projects/{project_id}';\n      operationId: 'teamsCheckPermissionsForProjectInOrg';\n      variables: TeamsCheckPermissionsForProjectInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/repos';\n      operationId: 'teamsListReposInOrg';\n      variables: TeamsListReposInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}';\n      operationId: 'teamsCheckPermissionsForRepoInOrg';\n      variables: TeamsCheckPermissionsForRepoInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/team-sync/group-mappings';\n      operationId: 'teamsListIdpGroupsInOrg';\n      variables: TeamsListIdpGroupsInOrgVariables;\n    }\n  | {\n      path: '/orgs/{org}/teams/{team_slug}/teams';\n      operationId: 'teamsListChildInOrg';\n      variables: TeamsListChildInOrgVariables;\n    }\n  | {\n      path: '/projects/columns/cards/{card_id}';\n      operationId: 'projectsGetCard';\n      variables: ProjectsGetCardVariables;\n    }\n  | {\n      path: '/projects/columns/{column_id}';\n      operationId: 'projectsGetColumn';\n      variables: ProjectsGetColumnVariables;\n    }\n  | {\n      path: '/projects/columns/{column_id}/cards';\n      operationId: 'projectsListCards';\n      variables: ProjectsListCardsVariables;\n    }\n  | {\n      path: '/projects/{project_id}';\n      operationId: 'projectsGet';\n      variables: ProjectsGetVariables;\n    }\n  | {\n      path: '/projects/{project_id}/collaborators';\n      operationId: 'projectsListCollaborators';\n      variables: ProjectsListCollaboratorsVariables;\n    }\n  | {\n      path: '/projects/{project_id}/collaborators/{username}/permission';\n      operationId: 'projectsGetPermissionForUser';\n      variables: ProjectsGetPermissionForUserVariables;\n    }\n  | {\n      path: '/projects/{project_id}/columns';\n      operationId: 'projectsListColumns';\n      variables: ProjectsListColumnsVariables;\n    }\n  | {\n      path: '/rate_limit';\n      operationId: 'rateLimitGet';\n      variables: RateLimitGetVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}';\n      operationId: 'reposGet';\n      variables: ReposGetVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/artifacts';\n      operationId: 'actionsListArtifactsForRepo';\n      variables: ActionsListArtifactsForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/artifacts/{artifact_id}';\n      operationId: 'actionsGetArtifact';\n      variables: ActionsGetArtifactVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}';\n      operationId: 'actionsDownloadArtifact';\n      variables: ActionsDownloadArtifactVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/jobs/{job_id}';\n      operationId: 'actionsGetJobForWorkflowRun';\n      variables: ActionsGetJobForWorkflowRunVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/jobs/{job_id}/logs';\n      operationId: 'actionsDownloadJobLogsForWorkflowRun';\n      variables: ActionsDownloadJobLogsForWorkflowRunVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/permissions';\n      operationId: 'actionsGetGithubActionsPermissionsRepository';\n      variables: ActionsGetGithubActionsPermissionsRepositoryVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/permissions/selected-actions';\n      operationId: 'actionsGetAllowedActionsRepository';\n      variables: ActionsGetAllowedActionsRepositoryVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/runners';\n      operationId: 'actionsListSelfHostedRunnersForRepo';\n      variables: ActionsListSelfHostedRunnersForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/runners/downloads';\n      operationId: 'actionsListRunnerApplicationsForRepo';\n      variables: ActionsListRunnerApplicationsForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/runners/{runner_id}';\n      operationId: 'actionsGetSelfHostedRunnerForRepo';\n      variables: ActionsGetSelfHostedRunnerForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/runs';\n      operationId: 'actionsListWorkflowRunsForRepo';\n      variables: ActionsListWorkflowRunsForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}';\n      operationId: 'actionsGetWorkflowRun';\n      variables: ActionsGetWorkflowRunVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}/approvals';\n      operationId: 'actionsGetReviewsForRun';\n      variables: ActionsGetReviewsForRunVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts';\n      operationId: 'actionsListWorkflowRunArtifacts';\n      variables: ActionsListWorkflowRunArtifactsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}/jobs';\n      operationId: 'actionsListJobsForWorkflowRun';\n      variables: ActionsListJobsForWorkflowRunVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}/logs';\n      operationId: 'actionsDownloadWorkflowRunLogs';\n      variables: ActionsDownloadWorkflowRunLogsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments';\n      operationId: 'actionsGetPendingDeploymentsForRun';\n      variables: ActionsGetPendingDeploymentsForRunVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/runs/{run_id}/timing';\n      operationId: 'actionsGetWorkflowRunUsage';\n      variables: ActionsGetWorkflowRunUsageVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/secrets';\n      operationId: 'actionsListRepoSecrets';\n      variables: ActionsListRepoSecretsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/secrets/public-key';\n      operationId: 'actionsGetRepoPublicKey';\n      variables: ActionsGetRepoPublicKeyVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/secrets/{secret_name}';\n      operationId: 'actionsGetRepoSecret';\n      variables: ActionsGetRepoSecretVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/workflows';\n      operationId: 'actionsListRepoWorkflows';\n      variables: ActionsListRepoWorkflowsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/workflows/{workflow_id}';\n      operationId: 'actionsGetWorkflow';\n      variables: ActionsGetWorkflowVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs';\n      operationId: 'actionsListWorkflowRuns';\n      variables: ActionsListWorkflowRunsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing';\n      operationId: 'actionsGetWorkflowUsage';\n      variables: ActionsGetWorkflowUsageVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/assignees';\n      operationId: 'issuesListAssignees';\n      variables: IssuesListAssigneesVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/assignees/{assignee}';\n      operationId: 'issuesCheckUserCanBeAssigned';\n      variables: IssuesCheckUserCanBeAssignedVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/branches';\n      operationId: 'reposListBranches';\n      variables: ReposListBranchesVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/branches/{branch}';\n      operationId: 'reposGetBranch';\n      variables: ReposGetBranchVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection';\n      operationId: 'reposGetBranchProtection';\n      variables: ReposGetBranchProtectionVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins';\n      operationId: 'reposGetAdminBranchProtection';\n      variables: ReposGetAdminBranchProtectionVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews';\n      operationId: 'reposGetPullRequestReviewProtection';\n      variables: ReposGetPullRequestReviewProtectionVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures';\n      operationId: 'reposGetCommitSignatureProtection';\n      variables: ReposGetCommitSignatureProtectionVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks';\n      operationId: 'reposGetStatusChecksProtection';\n      variables: ReposGetStatusChecksProtectionVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts';\n      operationId: 'reposGetAllStatusCheckContexts';\n      variables: ReposGetAllStatusCheckContextsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions';\n      operationId: 'reposGetAccessRestrictions';\n      variables: ReposGetAccessRestrictionsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps';\n      operationId: 'reposGetAppsWithAccessToProtectedBranch';\n      variables: ReposGetAppsWithAccessToProtectedBranchVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams';\n      operationId: 'reposGetTeamsWithAccessToProtectedBranch';\n      variables: ReposGetTeamsWithAccessToProtectedBranchVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users';\n      operationId: 'reposGetUsersWithAccessToProtectedBranch';\n      variables: ReposGetUsersWithAccessToProtectedBranchVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/check-runs/{check_run_id}';\n      operationId: 'checksGet';\n      variables: ChecksGetVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations';\n      operationId: 'checksListAnnotations';\n      variables: ChecksListAnnotationsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/check-suites/{check_suite_id}';\n      operationId: 'checksGetSuite';\n      variables: ChecksGetSuiteVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs';\n      operationId: 'checksListForSuite';\n      variables: ChecksListForSuiteVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/code-scanning/alerts';\n      operationId: 'codeScanningListAlertsForRepo';\n      variables: CodeScanningListAlertsForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}';\n      operationId: 'codeScanningGetAlert';\n      variables: CodeScanningGetAlertVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances';\n      operationId: 'codeScanningListAlertsInstances';\n      variables: CodeScanningListAlertsInstancesVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/code-scanning/analyses';\n      operationId: 'codeScanningListRecentAnalyses';\n      variables: CodeScanningListRecentAnalysesVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}';\n      operationId: 'codeScanningGetAnalysis';\n      variables: CodeScanningGetAnalysisVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}';\n      operationId: 'codeScanningGetSarif';\n      variables: CodeScanningGetSarifVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/collaborators';\n      operationId: 'reposListCollaborators';\n      variables: ReposListCollaboratorsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/collaborators/{username}';\n      operationId: 'reposCheckCollaborator';\n      variables: ReposCheckCollaboratorVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/collaborators/{username}/permission';\n      operationId: 'reposGetCollaboratorPermissionLevel';\n      variables: ReposGetCollaboratorPermissionLevelVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/comments';\n      operationId: 'reposListCommitCommentsForRepo';\n      variables: ReposListCommitCommentsForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/comments/{comment_id}';\n      operationId: 'reposGetCommitComment';\n      variables: ReposGetCommitCommentVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/comments/{comment_id}/reactions';\n      operationId: 'reactionsListForCommitComment';\n      variables: ReactionsListForCommitCommentVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/commits';\n      operationId: 'reposListCommits';\n      variables: ReposListCommitsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head';\n      operationId: 'reposListBranchesForHeadCommit';\n      variables: ReposListBranchesForHeadCommitVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/commits/{commit_sha}/comments';\n      operationId: 'reposListCommentsForCommit';\n      variables: ReposListCommentsForCommitVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/commits/{commit_sha}/pulls';\n      operationId: 'reposListPullRequestsAssociatedWithCommit';\n      variables: ReposListPullRequestsAssociatedWithCommitVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/commits/{ref}';\n      operationId: 'reposGetCommit';\n      variables: ReposGetCommitVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/commits/{ref}/check-runs';\n      operationId: 'checksListForRef';\n      variables: ChecksListForRefVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/commits/{ref}/check-suites';\n      operationId: 'checksListSuitesForRef';\n      variables: ChecksListSuitesForRefVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/commits/{ref}/status';\n      operationId: 'reposGetCombinedStatusForRef';\n      variables: ReposGetCombinedStatusForRefVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/commits/{ref}/statuses';\n      operationId: 'reposListCommitStatusesForRef';\n      variables: ReposListCommitStatusesForRefVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/community/code_of_conduct';\n      operationId: 'codesOfConductGetForRepo';\n      variables: CodesOfConductGetForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/community/profile';\n      operationId: 'reposGetCommunityProfileMetrics';\n      variables: ReposGetCommunityProfileMetricsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/compare/{base}...{head}';\n      operationId: 'reposCompareCommits';\n      variables: ReposCompareCommitsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/contents/{path}';\n      operationId: 'reposGetContent';\n      variables: ReposGetContentVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/contributors';\n      operationId: 'reposListContributors';\n      variables: ReposListContributorsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/deployments';\n      operationId: 'reposListDeployments';\n      variables: ReposListDeploymentsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/deployments/{deployment_id}';\n      operationId: 'reposGetDeployment';\n      variables: ReposGetDeploymentVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/deployments/{deployment_id}/statuses';\n      operationId: 'reposListDeploymentStatuses';\n      variables: ReposListDeploymentStatusesVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}';\n      operationId: 'reposGetDeploymentStatus';\n      variables: ReposGetDeploymentStatusVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/environments';\n      operationId: 'reposGetAllEnvironments';\n      variables: ReposGetAllEnvironmentsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/environments/{environment_name}';\n      operationId: 'reposGetEnvironment';\n      variables: ReposGetEnvironmentVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/events';\n      operationId: 'activityListRepoEvents';\n      variables: ActivityListRepoEventsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/forks';\n      operationId: 'reposListForks';\n      variables: ReposListForksVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/git/blobs/{file_sha}';\n      operationId: 'gitGetBlob';\n      variables: GitGetBlobVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/git/commits/{commit_sha}';\n      operationId: 'gitGetCommit';\n      variables: GitGetCommitVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/git/matching-refs/{ref}';\n      operationId: 'gitListMatchingRefs';\n      variables: GitListMatchingRefsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/git/ref/{ref}';\n      operationId: 'gitGetRef';\n      variables: GitGetRefVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/git/tags/{tag_sha}';\n      operationId: 'gitGetTag';\n      variables: GitGetTagVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/git/trees/{tree_sha}';\n      operationId: 'gitGetTree';\n      variables: GitGetTreeVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/hooks';\n      operationId: 'reposListWebhooks';\n      variables: ReposListWebhooksVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/hooks/{hook_id}';\n      operationId: 'reposGetWebhook';\n      variables: ReposGetWebhookVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/hooks/{hook_id}/config';\n      operationId: 'reposGetWebhookConfigForRepo';\n      variables: ReposGetWebhookConfigForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/import';\n      operationId: 'migrationsGetImportStatus';\n      variables: MigrationsGetImportStatusVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/import/authors';\n      operationId: 'migrationsGetCommitAuthors';\n      variables: MigrationsGetCommitAuthorsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/import/large_files';\n      operationId: 'migrationsGetLargeFiles';\n      variables: MigrationsGetLargeFilesVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/installation';\n      operationId: 'appsGetRepoInstallation';\n      variables: AppsGetRepoInstallationVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/interaction-limits';\n      operationId: 'interactionsGetRestrictionsForRepo';\n      variables: InteractionsGetRestrictionsForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/invitations';\n      operationId: 'reposListInvitations';\n      variables: ReposListInvitationsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/issues';\n      operationId: 'issuesListForRepo';\n      variables: IssuesListForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/issues/comments';\n      operationId: 'issuesListCommentsForRepo';\n      variables: IssuesListCommentsForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/issues/comments/{comment_id}';\n      operationId: 'issuesGetComment';\n      variables: IssuesGetCommentVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions';\n      operationId: 'reactionsListForIssueComment';\n      variables: ReactionsListForIssueCommentVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/issues/events';\n      operationId: 'issuesListEventsForRepo';\n      variables: IssuesListEventsForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/issues/events/{event_id}';\n      operationId: 'issuesGetEvent';\n      variables: IssuesGetEventVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/issues/{issue_number}';\n      operationId: 'issuesGet';\n      variables: IssuesGetVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/issues/{issue_number}/comments';\n      operationId: 'issuesListComments';\n      variables: IssuesListCommentsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/issues/{issue_number}/events';\n      operationId: 'issuesListEvents';\n      variables: IssuesListEventsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/issues/{issue_number}/labels';\n      operationId: 'issuesListLabelsOnIssue';\n      variables: IssuesListLabelsOnIssueVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/issues/{issue_number}/reactions';\n      operationId: 'reactionsListForIssue';\n      variables: ReactionsListForIssueVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/issues/{issue_number}/timeline';\n      operationId: 'issuesListEventsForTimeline';\n      variables: IssuesListEventsForTimelineVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/keys';\n      operationId: 'reposListDeployKeys';\n      variables: ReposListDeployKeysVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/keys/{key_id}';\n      operationId: 'reposGetDeployKey';\n      variables: ReposGetDeployKeyVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/labels';\n      operationId: 'issuesListLabelsForRepo';\n      variables: IssuesListLabelsForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/labels/{name}';\n      operationId: 'issuesGetLabel';\n      variables: IssuesGetLabelVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/languages';\n      operationId: 'reposListLanguages';\n      variables: ReposListLanguagesVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/license';\n      operationId: 'licensesGetForRepo';\n      variables: LicensesGetForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/milestones';\n      operationId: 'issuesListMilestones';\n      variables: IssuesListMilestonesVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/milestones/{milestone_number}';\n      operationId: 'issuesGetMilestone';\n      variables: IssuesGetMilestoneVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/milestones/{milestone_number}/labels';\n      operationId: 'issuesListLabelsForMilestone';\n      variables: IssuesListLabelsForMilestoneVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/notifications';\n      operationId: 'activityListRepoNotificationsForAuthenticatedUser';\n      variables: ActivityListRepoNotificationsForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pages';\n      operationId: 'reposGetPages';\n      variables: ReposGetPagesVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pages/builds';\n      operationId: 'reposListPagesBuilds';\n      variables: ReposListPagesBuildsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pages/builds/latest';\n      operationId: 'reposGetLatestPagesBuild';\n      variables: ReposGetLatestPagesBuildVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pages/builds/{build_id}';\n      operationId: 'reposGetPagesBuild';\n      variables: ReposGetPagesBuildVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/projects';\n      operationId: 'projectsListForRepo';\n      variables: ProjectsListForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls';\n      operationId: 'pullsList';\n      variables: PullsListVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls/comments';\n      operationId: 'pullsListReviewCommentsForRepo';\n      variables: PullsListReviewCommentsForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls/comments/{comment_id}';\n      operationId: 'pullsGetReviewComment';\n      variables: PullsGetReviewCommentVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions';\n      operationId: 'reactionsListForPullRequestReviewComment';\n      variables: ReactionsListForPullRequestReviewCommentVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}';\n      operationId: 'pullsGet';\n      variables: PullsGetVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/comments';\n      operationId: 'pullsListReviewComments';\n      variables: PullsListReviewCommentsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/commits';\n      operationId: 'pullsListCommits';\n      variables: PullsListCommitsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/files';\n      operationId: 'pullsListFiles';\n      variables: PullsListFilesVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/merge';\n      operationId: 'pullsCheckIfMerged';\n      variables: PullsCheckIfMergedVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers';\n      operationId: 'pullsListRequestedReviewers';\n      variables: PullsListRequestedReviewersVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/reviews';\n      operationId: 'pullsListReviews';\n      variables: PullsListReviewsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}';\n      operationId: 'pullsGetReview';\n      variables: PullsGetReviewVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments';\n      operationId: 'pullsListCommentsForReview';\n      variables: PullsListCommentsForReviewVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/readme';\n      operationId: 'reposGetReadme';\n      variables: ReposGetReadmeVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/readme/{dir}';\n      operationId: 'reposGetReadmeFromAltPath';\n      variables: ReposGetReadmeFromAltPathVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/releases';\n      operationId: 'reposListReleases';\n      variables: ReposListReleasesVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/releases/assets/{asset_id}';\n      operationId: 'reposGetReleaseAsset';\n      variables: ReposGetReleaseAssetVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/releases/latest';\n      operationId: 'reposGetLatestRelease';\n      variables: ReposGetLatestReleaseVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/releases/tags/{tag}';\n      operationId: 'reposGetReleaseByTag';\n      variables: ReposGetReleaseByTagVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/releases/{release_id}';\n      operationId: 'reposGetRelease';\n      variables: ReposGetReleaseVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/releases/{release_id}/assets';\n      operationId: 'reposListReleaseAssets';\n      variables: ReposListReleaseAssetsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/secret-scanning/alerts';\n      operationId: 'secretScanningListAlertsForRepo';\n      variables: SecretScanningListAlertsForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}';\n      operationId: 'secretScanningGetAlert';\n      variables: SecretScanningGetAlertVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/stargazers';\n      operationId: 'activityListStargazersForRepo';\n      variables: ActivityListStargazersForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/stats/code_frequency';\n      operationId: 'reposGetCodeFrequencyStats';\n      variables: ReposGetCodeFrequencyStatsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/stats/commit_activity';\n      operationId: 'reposGetCommitActivityStats';\n      variables: ReposGetCommitActivityStatsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/stats/contributors';\n      operationId: 'reposGetContributorsStats';\n      variables: ReposGetContributorsStatsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/stats/participation';\n      operationId: 'reposGetParticipationStats';\n      variables: ReposGetParticipationStatsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/stats/punch_card';\n      operationId: 'reposGetPunchCardStats';\n      variables: ReposGetPunchCardStatsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/subscribers';\n      operationId: 'activityListWatchersForRepo';\n      variables: ActivityListWatchersForRepoVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/subscription';\n      operationId: 'activityGetRepoSubscription';\n      variables: ActivityGetRepoSubscriptionVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/tags';\n      operationId: 'reposListTags';\n      variables: ReposListTagsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/tarball/{ref}';\n      operationId: 'reposDownloadTarballArchive';\n      variables: ReposDownloadTarballArchiveVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/teams';\n      operationId: 'reposListTeams';\n      variables: ReposListTeamsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/topics';\n      operationId: 'reposGetAllTopics';\n      variables: ReposGetAllTopicsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/traffic/clones';\n      operationId: 'reposGetClones';\n      variables: ReposGetClonesVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/traffic/popular/paths';\n      operationId: 'reposGetTopPaths';\n      variables: ReposGetTopPathsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/traffic/popular/referrers';\n      operationId: 'reposGetTopReferrers';\n      variables: ReposGetTopReferrersVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/traffic/views';\n      operationId: 'reposGetViews';\n      variables: ReposGetViewsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/vulnerability-alerts';\n      operationId: 'reposCheckVulnerabilityAlerts';\n      variables: ReposCheckVulnerabilityAlertsVariables;\n    }\n  | {\n      path: '/repos/{owner}/{repo}/zipball/{ref}';\n      operationId: 'reposDownloadZipballArchive';\n      variables: ReposDownloadZipballArchiveVariables;\n    }\n  | {\n      path: '/repositories';\n      operationId: 'reposListPublic';\n      variables: ReposListPublicVariables;\n    }\n  | {\n      path: '/repositories/{repository_id}/environments/{environment_name}/secrets';\n      operationId: 'actionsListEnvironmentSecrets';\n      variables: ActionsListEnvironmentSecretsVariables;\n    }\n  | {\n      path: '/repositories/{repository_id}/environments/{environment_name}/secrets/public-key';\n      operationId: 'actionsGetEnvironmentPublicKey';\n      variables: ActionsGetEnvironmentPublicKeyVariables;\n    }\n  | {\n      path: '/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}';\n      operationId: 'actionsGetEnvironmentSecret';\n      variables: ActionsGetEnvironmentSecretVariables;\n    }\n  | {\n      path: '/scim/v2/enterprises/{enterprise}/Groups';\n      operationId: 'enterpriseAdminListProvisionedGroupsEnterprise';\n      variables: EnterpriseAdminListProvisionedGroupsEnterpriseVariables;\n    }\n  | {\n      path: '/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}';\n      operationId: 'enterpriseAdminGetProvisioningInformationForEnterpriseGroup';\n      variables: EnterpriseAdminGetProvisioningInformationForEnterpriseGroupVariables;\n    }\n  | {\n      path: '/scim/v2/enterprises/{enterprise}/Users';\n      operationId: 'enterpriseAdminListProvisionedIdentitiesEnterprise';\n      variables: EnterpriseAdminListProvisionedIdentitiesEnterpriseVariables;\n    }\n  | {\n      path: '/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}';\n      operationId: 'enterpriseAdminGetProvisioningInformationForEnterpriseUser';\n      variables: EnterpriseAdminGetProvisioningInformationForEnterpriseUserVariables;\n    }\n  | {\n      path: '/scim/v2/organizations/{org}/Users';\n      operationId: 'scimListProvisionedIdentities';\n      variables: ScimListProvisionedIdentitiesVariables;\n    }\n  | {\n      path: '/scim/v2/organizations/{org}/Users/{scim_user_id}';\n      operationId: 'scimGetProvisioningInformationForUser';\n      variables: ScimGetProvisioningInformationForUserVariables;\n    }\n  | {\n      path: '/search/code';\n      operationId: 'searchCode';\n      variables: SearchCodeVariables;\n    }\n  | {\n      path: '/search/commits';\n      operationId: 'searchCommits';\n      variables: SearchCommitsVariables;\n    }\n  | {\n      path: '/search/issues';\n      operationId: 'searchIssuesAndPullRequests';\n      variables: SearchIssuesAndPullRequestsVariables;\n    }\n  | {\n      path: '/search/labels';\n      operationId: 'searchLabels';\n      variables: SearchLabelsVariables;\n    }\n  | {\n      path: '/search/repositories';\n      operationId: 'searchRepos';\n      variables: SearchReposVariables;\n    }\n  | {\n      path: '/search/topics';\n      operationId: 'searchTopics';\n      variables: SearchTopicsVariables;\n    }\n  | {\n      path: '/search/users';\n      operationId: 'searchUsers';\n      variables: SearchUsersVariables;\n    }\n  | {\n      path: '/teams/{team_id}';\n      operationId: 'teamsGetLegacy';\n      variables: TeamsGetLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/discussions';\n      operationId: 'teamsListDiscussionsLegacy';\n      variables: TeamsListDiscussionsLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/discussions/{discussion_number}';\n      operationId: 'teamsGetDiscussionLegacy';\n      variables: TeamsGetDiscussionLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/discussions/{discussion_number}/comments';\n      operationId: 'teamsListDiscussionCommentsLegacy';\n      variables: TeamsListDiscussionCommentsLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}';\n      operationId: 'teamsGetDiscussionCommentLegacy';\n      variables: TeamsGetDiscussionCommentLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions';\n      operationId: 'reactionsListForTeamDiscussionCommentLegacy';\n      variables: ReactionsListForTeamDiscussionCommentLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/discussions/{discussion_number}/reactions';\n      operationId: 'reactionsListForTeamDiscussionLegacy';\n      variables: ReactionsListForTeamDiscussionLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/invitations';\n      operationId: 'teamsListPendingInvitationsLegacy';\n      variables: TeamsListPendingInvitationsLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/members';\n      operationId: 'teamsListMembersLegacy';\n      variables: TeamsListMembersLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/members/{username}';\n      operationId: 'teamsGetMemberLegacy';\n      variables: TeamsGetMemberLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/memberships/{username}';\n      operationId: 'teamsGetMembershipForUserLegacy';\n      variables: TeamsGetMembershipForUserLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/projects';\n      operationId: 'teamsListProjectsLegacy';\n      variables: TeamsListProjectsLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/projects/{project_id}';\n      operationId: 'teamsCheckPermissionsForProjectLegacy';\n      variables: TeamsCheckPermissionsForProjectLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/repos';\n      operationId: 'teamsListReposLegacy';\n      variables: TeamsListReposLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/repos/{owner}/{repo}';\n      operationId: 'teamsCheckPermissionsForRepoLegacy';\n      variables: TeamsCheckPermissionsForRepoLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/team-sync/group-mappings';\n      operationId: 'teamsListIdpGroupsForLegacy';\n      variables: TeamsListIdpGroupsForLegacyVariables;\n    }\n  | {\n      path: '/teams/{team_id}/teams';\n      operationId: 'teamsListChildLegacy';\n      variables: TeamsListChildLegacyVariables;\n    }\n  | {\n      path: '/user';\n      operationId: 'usersGetAuthenticated';\n      variables: UsersGetAuthenticatedVariables;\n    }\n  | {\n      path: '/user/blocks';\n      operationId: 'usersListBlockedByAuthenticated';\n      variables: UsersListBlockedByAuthenticatedVariables;\n    }\n  | {\n      path: '/user/blocks/{username}';\n      operationId: 'usersCheckBlocked';\n      variables: UsersCheckBlockedVariables;\n    }\n  | {\n      path: '/user/emails';\n      operationId: 'usersListEmailsForAuthenticated';\n      variables: UsersListEmailsForAuthenticatedVariables;\n    }\n  | {\n      path: '/user/followers';\n      operationId: 'usersListFollowersForAuthenticatedUser';\n      variables: UsersListFollowersForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/following';\n      operationId: 'usersListFollowedByAuthenticated';\n      variables: UsersListFollowedByAuthenticatedVariables;\n    }\n  | {\n      path: '/user/following/{username}';\n      operationId: 'usersCheckPersonIsFollowedByAuthenticated';\n      variables: UsersCheckPersonIsFollowedByAuthenticatedVariables;\n    }\n  | {\n      path: '/user/gpg_keys';\n      operationId: 'usersListGpgKeysForAuthenticated';\n      variables: UsersListGpgKeysForAuthenticatedVariables;\n    }\n  | {\n      path: '/user/gpg_keys/{gpg_key_id}';\n      operationId: 'usersGetGpgKeyForAuthenticated';\n      variables: UsersGetGpgKeyForAuthenticatedVariables;\n    }\n  | {\n      path: '/user/installations';\n      operationId: 'appsListInstallationsForAuthenticatedUser';\n      variables: AppsListInstallationsForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/installations/{installation_id}/repositories';\n      operationId: 'appsListInstallationReposForAuthenticatedUser';\n      variables: AppsListInstallationReposForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/interaction-limits';\n      operationId: 'interactionsGetRestrictionsForAuthenticatedUser';\n      variables: InteractionsGetRestrictionsForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/issues';\n      operationId: 'issuesListForAuthenticatedUser';\n      variables: IssuesListForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/keys';\n      operationId: 'usersListPublicSshKeysForAuthenticated';\n      variables: UsersListPublicSshKeysForAuthenticatedVariables;\n    }\n  | {\n      path: '/user/keys/{key_id}';\n      operationId: 'usersGetPublicSshKeyForAuthenticated';\n      variables: UsersGetPublicSshKeyForAuthenticatedVariables;\n    }\n  | {\n      path: '/user/marketplace_purchases';\n      operationId: 'appsListSubscriptionsForAuthenticatedUser';\n      variables: AppsListSubscriptionsForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/marketplace_purchases/stubbed';\n      operationId: 'appsListSubscriptionsForAuthenticatedUserStubbed';\n      variables: AppsListSubscriptionsForAuthenticatedUserStubbedVariables;\n    }\n  | {\n      path: '/user/memberships/orgs';\n      operationId: 'orgsListMembershipsForAuthenticatedUser';\n      variables: OrgsListMembershipsForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/memberships/orgs/{org}';\n      operationId: 'orgsGetMembershipForAuthenticatedUser';\n      variables: OrgsGetMembershipForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/migrations';\n      operationId: 'migrationsListForAuthenticatedUser';\n      variables: MigrationsListForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/migrations/{migration_id}';\n      operationId: 'migrationsGetStatusForAuthenticatedUser';\n      variables: MigrationsGetStatusForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/migrations/{migration_id}/archive';\n      operationId: 'migrationsGetArchiveForAuthenticatedUser';\n      variables: MigrationsGetArchiveForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/migrations/{migration_id}/repositories';\n      operationId: 'migrationsListReposForUser';\n      variables: MigrationsListReposForUserVariables;\n    }\n  | {\n      path: '/user/orgs';\n      operationId: 'orgsListForAuthenticatedUser';\n      variables: OrgsListForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/packages/{package_type}/{package_name}';\n      operationId: 'packagesGetPackageForAuthenticatedUser';\n      variables: PackagesGetPackageForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/packages/{package_type}/{package_name}/versions';\n      operationId: 'packagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUser';\n      variables: PackagesGetAllPackageVersionsForPackageOwnedByAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/packages/{package_type}/{package_name}/versions/{package_version_id}';\n      operationId: 'packagesGetPackageVersionForAuthenticatedUser';\n      variables: PackagesGetPackageVersionForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/public_emails';\n      operationId: 'usersListPublicEmailsForAuthenticated';\n      variables: UsersListPublicEmailsForAuthenticatedVariables;\n    }\n  | {\n      path: '/user/repos';\n      operationId: 'reposListForAuthenticatedUser';\n      variables: ReposListForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/repository_invitations';\n      operationId: 'reposListInvitationsForAuthenticatedUser';\n      variables: ReposListInvitationsForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/starred';\n      operationId: 'activityListReposStarredByAuthenticatedUser';\n      variables: ActivityListReposStarredByAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/starred/{owner}/{repo}';\n      operationId: 'activityCheckRepoIsStarredByAuthenticatedUser';\n      variables: ActivityCheckRepoIsStarredByAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/subscriptions';\n      operationId: 'activityListWatchedReposForAuthenticatedUser';\n      variables: ActivityListWatchedReposForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/user/teams';\n      operationId: 'teamsListForAuthenticatedUser';\n      variables: TeamsListForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/users';\n      operationId: 'usersList';\n      variables: UsersListVariables;\n    }\n  | {\n      path: '/users/{username}';\n      operationId: 'usersGetByUsername';\n      variables: UsersGetByUsernameVariables;\n    }\n  | {\n      path: '/users/{username}/events';\n      operationId: 'activityListEventsForAuthenticatedUser';\n      variables: ActivityListEventsForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/users/{username}/events/orgs/{org}';\n      operationId: 'activityListOrgEventsForAuthenticatedUser';\n      variables: ActivityListOrgEventsForAuthenticatedUserVariables;\n    }\n  | {\n      path: '/users/{username}/events/public';\n      operationId: 'activityListPublicEventsForUser';\n      variables: ActivityListPublicEventsForUserVariables;\n    }\n  | {\n      path: '/users/{username}/followers';\n      operationId: 'usersListFollowersForUser';\n      variables: UsersListFollowersForUserVariables;\n    }\n  | {\n      path: '/users/{username}/following';\n      operationId: 'usersListFollowingForUser';\n      variables: UsersListFollowingForUserVariables;\n    }\n  | {\n      path: '/users/{username}/following/{target_user}';\n      operationId: 'usersCheckFollowingForUser';\n      variables: UsersCheckFollowingForUserVariables;\n    }\n  | {\n      path: '/users/{username}/gists';\n      operationId: 'gistsListForUser';\n      variables: GistsListForUserVariables;\n    }\n  | {\n      path: '/users/{username}/gpg_keys';\n      operationId: 'usersListGpgKeysForUser';\n      variables: UsersListGpgKeysForUserVariables;\n    }\n  | {\n      path: '/users/{username}/hovercard';\n      operationId: 'usersGetContextForUser';\n      variables: UsersGetContextForUserVariables;\n    }\n  | {\n      path: '/users/{username}/installation';\n      operationId: 'appsGetUserInstallation';\n      variables: AppsGetUserInstallationVariables;\n    }\n  | {\n      path: '/users/{username}/keys';\n      operationId: 'usersListPublicKeysForUser';\n      variables: UsersListPublicKeysForUserVariables;\n    }\n  | {\n      path: '/users/{username}/orgs';\n      operationId: 'orgsListForUser';\n      variables: OrgsListForUserVariables;\n    }\n  | {\n      path: '/users/{username}/packages/{package_type}/{package_name}';\n      operationId: 'packagesGetPackageForUser';\n      variables: PackagesGetPackageForUserVariables;\n    }\n  | {\n      path: '/users/{username}/packages/{package_type}/{package_name}/versions';\n      operationId: 'packagesGetAllPackageVersionsForPackageOwnedByUser';\n      variables: PackagesGetAllPackageVersionsForPackageOwnedByUserVariables;\n    }\n  | {\n      path: '/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}';\n      operationId: 'packagesGetPackageVersionForUser';\n      variables: PackagesGetPackageVersionForUserVariables;\n    }\n  | {\n      path: '/users/{username}/projects';\n      operationId: 'projectsListForUser';\n      variables: ProjectsListForUserVariables;\n    }\n  | {\n      path: '/users/{username}/received_events';\n      operationId: 'activityListReceivedEventsForUser';\n      variables: ActivityListReceivedEventsForUserVariables;\n    }\n  | {\n      path: '/users/{username}/received_events/public';\n      operationId: 'activityListReceivedPublicEventsForUser';\n      variables: ActivityListReceivedPublicEventsForUserVariables;\n    }\n  | {\n      path: '/users/{username}/repos';\n      operationId: 'reposListForUser';\n      variables: ReposListForUserVariables;\n    }\n  | {\n      path: '/users/{username}/settings/billing/actions';\n      operationId: 'billingGetGithubActionsBillingUser';\n      variables: BillingGetGithubActionsBillingUserVariables;\n    }\n  | {\n      path: '/users/{username}/settings/billing/packages';\n      operationId: 'billingGetGithubPackagesBillingUser';\n      variables: BillingGetGithubPackagesBillingUserVariables;\n    }\n  | {\n      path: '/users/{username}/settings/billing/shared-storage';\n      operationId: 'billingGetSharedStorageBillingUser';\n      variables: BillingGetSharedStorageBillingUserVariables;\n    }\n  | {\n      path: '/users/{username}/starred';\n      operationId: 'activityListReposStarredByUser';\n      variables: ActivityListReposStarredByUserVariables;\n    }\n  | {\n      path: '/users/{username}/subscriptions';\n      operationId: 'activityListReposWatchedByUser';\n      variables: ActivityListReposWatchedByUserVariables;\n    }\n  | {\n      path: '/zen';\n      operationId: 'metaGetZen';\n      variables: MetaGetZenVariables;\n    };\n"
  },
  {
    "path": "src/github/githubContext.ts",
    "content": "import type { QueryKey, UseQueryOptions } from '@tanstack/react-query';\nimport { QueryOperation } from './githubComponents';\n\nexport type GithubContext = {\n  fetcherOptions: {\n    /**\n     * Headers to inject in the fetcher\n     */\n    headers?: {};\n    /**\n     * Query params to inject in the fetcher\n     */\n    queryParams?: {};\n  };\n  queryOptions: {\n    /**\n     * Set this to `false` to disable automatic refetching when the query mounts or changes query keys.\n     * Defaults to `true`.\n     */\n    enabled?: boolean;\n  };\n  /**\n   * Query key manager.\n   */\n  queryKeyFn: (operation: QueryOperation) => QueryKey;\n};\n\n/**\n * Context injected into every react-query hook wrappers\n *\n * @param queryOptions options from the useQuery wrapper\n */\nexport function useGithubContext<\n  TQueryFnData = unknown,\n  TError = unknown,\n  TData = TQueryFnData,\n  TQueryKey extends QueryKey = QueryKey,\n>(\n  _queryOptions?: Omit<\n    UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n    'queryKey' | 'queryFn'\n  >,\n): GithubContext {\n  return {\n    fetcherOptions: {},\n    queryOptions: {},\n    queryKeyFn,\n  };\n}\n\nexport const queryKeyFn = (operation: QueryOperation) => {\n  const queryKey: unknown[] = hasPathParams(operation)\n    ? operation.path\n        .split('/')\n        .filter(Boolean)\n        .map((i) => resolvePathParam(i, operation.variables.pathParams))\n    : operation.path.split('/').filter(Boolean);\n\n  if (hasQueryParams(operation)) {\n    queryKey.push(operation.variables.queryParams);\n  }\n\n  if (hasBody(operation)) {\n    queryKey.push(operation.variables.body);\n  }\n\n  return queryKey;\n};\n// Helpers\nconst resolvePathParam = (key: string, pathParams: Record<string, string>) => {\n  if (key.startsWith('{') && key.endsWith('}')) {\n    return pathParams[key.slice(1, -1)];\n  }\n  return key;\n};\n\nconst hasPathParams = (\n  operation: QueryOperation,\n): operation is QueryOperation & {\n  variables: { pathParams: Record<string, string> };\n} => {\n  return Boolean((operation.variables as any).pathParams);\n};\n\nconst hasBody = (\n  operation: QueryOperation,\n): operation is QueryOperation & {\n  variables: { body: Record<string, unknown> };\n} => {\n  return Boolean((operation.variables as any).body);\n};\n\nconst hasQueryParams = (\n  operation: QueryOperation,\n): operation is QueryOperation & {\n  variables: { queryParams: Record<string, unknown> };\n} => {\n  return Boolean((operation.variables as any).queryParams);\n};\n"
  },
  {
    "path": "src/github/githubFetcher.ts",
    "content": "import Taro from '@tarojs/taro';\nimport { GithubContext } from './githubContext';\n\nconst baseUrl = 'https://api.github.com';\n\nexport type ErrorWrapper<TError> =\n  | TError\n  | { status: 'unknown'; payload: string };\n\nexport type GithubFetcherOptions<TBody, THeaders, TQueryParams, TPathParams> = {\n  url: string;\n  method: string;\n  body?: TBody;\n  headers?: THeaders;\n  queryParams?: TQueryParams;\n  pathParams?: TPathParams;\n  signal?: AbortSignal;\n} & GithubContext['fetcherOptions'];\n\nlet token = Taro.getStorageSync('authorization');\n\nexport async function githubFetch<\n  TData,\n  TError,\n  TBody extends {} | FormData | undefined | null,\n  THeaders extends {},\n  TQueryParams extends {},\n  TPathParams extends {},\n>({\n  url,\n  method,\n  body,\n  headers,\n  pathParams,\n  queryParams,\n}: GithubFetcherOptions<\n  TBody,\n  THeaders,\n  TQueryParams,\n  TPathParams\n>): Promise<TData> {\n  try {\n    const requestHeaders: TaroGeneral.IAnyObject = {\n      Authorization: token || (token = Taro.getStorageSync('authorization')),\n      ...headers,\n    };\n\n    const { data, errMsg, header, statusCode } = await Taro.request({\n      url: `${baseUrl}${resolveUrl(url, queryParams, pathParams)}`,\n      data: body,\n      method: method.toUpperCase() as any,\n      header: requestHeaders,\n    });\n\n    if ((statusCode >= 200 && statusCode < 300) || statusCode === 404) {\n      return data;\n    }\n\n    if (statusCode === 401) {\n      Taro.setStorageSync('username', '');\n      Taro.setStorageSync('authorization', '');\n      throw new Error('Token 无效或未登录！');\n    }\n\n    if (statusCode === 403) {\n      throw new Error('接口请求限流，请登录或稍后尝试！');\n    }\n\n    throw new Error(errMsg);\n  } catch (err) {\n    console.log('err: ', err);\n    Taro.showToast({\n      title: err.message || '请求失败，请稍后尝试~',\n      icon: 'none',\n      duration: 3000,\n      mask: true,\n    });\n    throw err;\n  } finally {\n    Taro.stopPullDownRefresh();\n  }\n}\n\nconst resolveUrl = (\n  url: string,\n  queryParams: Record<string, string> = {},\n  pathParams: Record<string, string> = {},\n) => {\n  let query = new URLSearchParams(queryParams).toString();\n  if (query) query = `?${query}`;\n  return url.replace(/\\{\\w*\\}/g, (key) => pathParams[key.slice(1, -1)]) + query;\n};\n"
  },
  {
    "path": "src/github/githubParameters.ts",
    "content": "/**\n * Generated by @openapi-codegen\n *\n * @version 1.1.4\n */\nimport type * as Schemas from './githubSchemas';\n\nexport type AccessToken = string;\n\nexport type AccountId = number;\n\nexport type Actor = string;\n\nexport type AlertNumber = Schemas.AlertNumber;\n\n/**\n * @default false\n */\nexport type All = boolean;\n\nexport type AppSlug = string;\n\nexport type ArtifactId = number;\n\nexport type AssetId = number;\n\nexport type AuditLogAfter = string;\n\nexport type AuditLogBefore = string;\n\nexport type AuditLogInclude = 'web' | 'git' | 'all';\n\nexport type AuditLogOrder = 'desc' | 'asc';\n\nexport type AuditLogPhrase = string;\n\nexport type AuthorizationId = number;\n\nexport type Before = string;\n\nexport type Branch = string;\n\nexport type CardId = number;\n\nexport type CheckName = string;\n\nexport type CheckRunId = number;\n\nexport type CheckSuiteId = number;\n\nexport type ClientId = string;\n\nexport type ColumnId = number;\n\nexport type CommentNumber = number;\n\nexport type CommentId = number;\n\nexport type CommitSha = string;\n\nexport type Count = number;\n\nexport type DeploymentId = number;\n\n/**\n * @default desc\n */\nexport type Direction = 'asc' | 'desc';\n\nexport type DiscussionNumber = number;\n\nexport type Enterprise = string;\n\nexport type EnvironmentName = string;\n\nexport type Event = string;\n\nexport type GistId = string;\n\nexport type GitRef = Schemas.CodeScanningRef;\n\nexport type GpgKeyId = number;\n\nexport type GrantId = number;\n\nexport type HookId = number;\n\nexport type InstallationId = number;\n\nexport type InvitationId = number;\n\nexport type IssueNumber = number;\n\nexport type JobId = number;\n\nexport type KeyId = number;\n\nexport type Labels = string;\n\nexport type MigrationId = number;\n\nexport type MilestoneNumber = number;\n\n/**\n * @default desc\n */\nexport type Order = 'desc' | 'asc';\n\nexport type Org = string;\n\nexport type OrgId = number;\n\nexport type Owner = string;\n\nexport type PackageName = string;\n\nexport type PackageType =\n  | 'npm'\n  | 'maven'\n  | 'rubygems'\n  | 'docker'\n  | 'nuget'\n  | 'container';\n\nexport type PackageVersionId = number;\n\n/**\n * @default 1\n */\nexport type Page = number;\n\n/**\n * @default false\n */\nexport type Participating = boolean;\n\n/**\n * @default day\n */\nexport type Per = '' | 'day' | 'week';\n\n/**\n * @default 30\n */\nexport type PerPage = number;\n\nexport type PlanId = number;\n\nexport type ProjectId = number;\n\nexport type PullNumber = number;\n\nexport type ReactionId = number;\n\nexport type ReleaseId = number;\n\nexport type Repo = string;\n\nexport type RepoName = string;\n\nexport type RepositoryId = number;\n\nexport type ReviewId = number;\n\nexport type RunId = number;\n\nexport type RunnerGroupId = number;\n\nexport type RunnerId = number;\n\nexport type ScimGroupId = string;\n\nexport type ScimUserId = string;\n\nexport type SecretName = string;\n\nexport type Since = string;\n\nexport type SinceOrg = number;\n\nexport type SinceRepo = number;\n\nexport type SinceUser = number;\n\n/**\n * @default created\n */\nexport type Sort = 'created' | 'updated';\n\nexport type StartIndex = number;\n\nexport type Status = 'queued' | 'in_progress' | 'completed';\n\nexport type TeamId = number;\n\nexport type TeamSlug = string;\n\nexport type ThreadId = number;\n\nexport type ToolGuid = Schemas.CodeScanningAnalysisToolGuid;\n\nexport type ToolName = Schemas.CodeScanningAnalysisToolName;\n\nexport type Username = string;\n\nexport type WorkflowId = number | string;\n\nexport type WorkflowRunBranch = string;\n\nexport type WorkflowRunStatus =\n  | 'completed'\n  | 'action_required'\n  | 'cancelled'\n  | 'failure'\n  | 'neutral'\n  | 'skipped'\n  | 'stale'\n  | 'success'\n  | 'timed_out'\n  | 'in_progress'\n  | 'queued'\n  | 'requested'\n  | 'waiting';\n"
  },
  {
    "path": "src/github/githubResponses.ts",
    "content": "/**\n * Generated by @openapi-codegen\n *\n * @version 1.1.4\n */\nimport type * as Schemas from './githubSchemas';\n\nexport type BadRequest = Schemas.BasicError;\n\nexport type CodeScanningForbiddenRead = Schemas.BasicError;\n\nexport type CodeScanningForbiddenWrite = Schemas.BasicError;\n\nexport type Conflict = Schemas.BasicError;\n\nexport type Forbidden = Schemas.BasicError;\n\nexport type ForbiddenGist = {\n  block?: {\n    created_at?: string;\n    html_url?: string | null;\n    reason?: string;\n  };\n  documentation_url?: string;\n  message?: string;\n};\n\nexport type Found = void;\n\nexport type Gone = Schemas.BasicError;\n\nexport type InternalError = Schemas.BasicError;\n\nexport type MovedPermanently = void;\n\nexport type NotFound = Schemas.BasicError;\n\nexport type NotModified = void;\n\nexport type PreviewHeaderMissing = {\n  documentation_url: string;\n  message: string;\n};\n\nexport type RequiresAuthentication = Schemas.BasicError;\n\nexport type ScimBadRequest = Schemas.ScimError;\n\nexport type ScimConflict = Schemas.ScimError;\n\nexport type ScimForbidden = Schemas.ScimError;\n\nexport type ScimInternalError = Schemas.ScimError;\n\nexport type ScimNotFound = Schemas.ScimError;\n\nexport type ServiceUnavailable = {\n  code?: string;\n  documentation_url?: string;\n  message?: string;\n};\n\nexport type ValidationFailed = Schemas.ValidationError;\n\nexport type ValidationFailedSimple = Schemas.ValidationErrorSimple;\n"
  },
  {
    "path": "src/github/githubSchemas.ts",
    "content": "/**\n * Generated by @openapi-codegen\n *\n * @version 1.1.4\n */\nexport type ActionsBillingUsage = {\n  /**\n   * The amount of free GitHub Actions minutes available.\n   */\n  included_minutes: number;\n  minutes_used_breakdown: {\n    /**\n     * Total minutes used on macOS runner machines.\n     */\n    MACOS?: number;\n    /**\n     * Total minutes used on Ubuntu runner machines.\n     */\n    UBUNTU?: number;\n    /**\n     * Total minutes used on Windows runner machines.\n     */\n    WINDOWS?: number;\n  };\n  /**\n   * The sum of the free and paid GitHub Actions minutes used.\n   */\n  total_minutes_used: number;\n  /**\n   * The total paid GitHub Actions minutes used.\n   */\n  total_paid_minutes_used: number;\n};\n\n/**\n * Whether GitHub Actions is enabled on the repository.\n */\nexport type ActionsEnabled = boolean;\n\nexport type ActionsEnterprisePermissions = {\n  allowed_actions: AllowedActions;\n  enabled_organizations: EnabledOrganizations;\n  selected_actions_url?: SelectedActionsUrl;\n  /**\n   * The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`.\n   */\n  selected_organizations_url?: string;\n};\n\nexport type ActionsOrganizationPermissions = {\n  allowed_actions: AllowedActions;\n  enabled_repositories: EnabledRepositories;\n  selected_actions_url?: SelectedActionsUrl;\n  /**\n   * The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`.\n   */\n  selected_repositories_url?: string;\n};\n\n/**\n * The public key used for setting Actions Secrets.\n */\nexport type ActionsPublicKey = {\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   */\n  created_at?: string;\n  /**\n   * @example 2\n   */\n  id?: number;\n  /**\n   * The Base64 encoded public key.\n   *\n   * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs=\n   */\n  key: string;\n  /**\n   * The identifier for the key.\n   *\n   * @example 1234567\n   */\n  key_id: string;\n  /**\n   * @example ssh-rsa AAAAB3NzaC1yc2EAAA\n   */\n  title?: string;\n  /**\n   * @example https://api.github.com/user/keys/2\n   */\n  url?: string;\n};\n\nexport type ActionsRepositoryPermissions = {\n  allowed_actions: AllowedActions;\n  enabled: ActionsEnabled;\n  selected_actions_url?: SelectedActionsUrl;\n};\n\n/**\n * Set secrets for GitHub Actions.\n */\nexport type ActionsSecret = {\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * The name of the secret.\n   *\n   * @example SECRET_TOKEN\n   */\n  name: string;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n};\n\n/**\n * Actor\n */\nexport type Actor = {\n  /**\n   * @format uri\n   */\n  avatar_url: string;\n  display_login?: string;\n  gravatar_id: string | null;\n  id: number;\n  login: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.\n *\n * @format date-time\n */\nexport type AlertCreatedAt = string;\n\n/**\n * The GitHub URL of the alert resource.\n *\n * @format uri\n */\nexport type AlertHtmlUrl = string;\n\n/**\n * The REST API URL for fetching the list of instances for an alert.\n *\n * @format uri\n */\nexport type AlertInstancesUrl = string;\n\n/**\n * The security alert number.\n */\nexport type AlertNumber = number;\n\n/**\n * The REST API URL of the alert resource.\n *\n * @format uri\n */\nexport type AlertUrl = string;\n\n/**\n * The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.\n */\nexport type AllowedActions = 'all' | 'local_only' | 'selected';\n\n/**\n * Api Overview\n */\nexport type ApiOverview = {\n  /**\n   * @example 13.64.0.0/16\n   * @example 13.65.0.0/16\n   */\n  actions?: string[];\n  /**\n   * @example 127.0.0.1/32\n   */\n  api?: string[];\n  /**\n   * @example 127.0.0.1/32\n   */\n  git?: string[];\n  /**\n   * @example 127.0.0.1/32\n   */\n  hooks?: string[];\n  /**\n   * @example 54.158.161.132\n   * @example 54.226.70.38\n   */\n  importer?: string[];\n  /**\n   * @example 192.30.252.153/32\n   * @example 192.30.252.154/32\n   */\n  pages?: string[];\n  ssh_key_fingerprints?: {\n    SHA256_DSA?: string;\n    SHA256_RSA?: string;\n  };\n  /**\n   * @example true\n   */\n  verifiable_password_authentication: boolean;\n  /**\n   * @example 127.0.0.1/32\n   */\n  web?: string[];\n};\n\n/**\n * The permissions granted to the user-to-server access token.\n *\n * @example {\"contents\":\"read\",\"deployments\":\"write\",\"issues\":\"read\",\"single_file\":\"read\"}\n */\nexport type AppPermissions = {\n  /**\n   * The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. Can be one of: `read` or `write`.\n   */\n  actions?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. Can be one of: `read` or `write`.\n   */\n  administration?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token for checks on code. Can be one of: `read` or `write`.\n   */\n  checks?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token for notification of content references and creation content attachments. Can be one of: `read` or `write`.\n   */\n  content_references?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. Can be one of: `read` or `write`.\n   */\n  contents?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token for deployments and deployment statuses. Can be one of: `read` or `write`.\n   */\n  deployments?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token for managing repository environments. Can be one of: `read` or `write`.\n   */\n  environments?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. Can be one of: `read` or `write`.\n   */\n  issues?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token for organization teams and members. Can be one of: `read` or `write`.\n   */\n  members?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. Can be one of: `read` or `write`.\n   */\n  metadata?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to manage access to an organization. Can be one of: `read` or `write`.\n   */\n  organization_administration?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to manage the post-receive hooks for an organization. Can be one of: `read` or `write`.\n   */\n  organization_hooks?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token for viewing an organization's plan. Can be one of: `read`.\n   */\n  organization_plan?: 'read';\n  /**\n   * The level of permission to grant the access token to manage organization projects, columns, and cards. Can be one of: `read`, `write`, or `admin`.\n   */\n  organization_projects?: 'read' | 'write' | 'admin';\n  /**\n   * The level of permission to grant the access token to manage organization secrets. Can be one of: `read` or `write`.\n   */\n  organization_secrets?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. Can be one of: `read` or `write`.\n   */\n  organization_self_hosted_runners?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to view and manage users blocked by the organization. Can be one of: `read` or `write`.\n   */\n  organization_user_blocking?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token for packages published to GitHub Packages. Can be one of: `read` or `write`.\n   */\n  packages?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. Can be one of: `read` or `write`.\n   */\n  pages?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. Can be one of: `read` or `write`.\n   */\n  pull_requests?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to manage the post-receive hooks for a repository. Can be one of: `read` or `write`.\n   */\n  repository_hooks?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to manage repository projects, columns, and cards. Can be one of: `read`, `write`, or `admin`.\n   */\n  repository_projects?: 'read' | 'write' | 'admin';\n  /**\n   * The level of permission to grant the access token to view and manage secret scanning alerts. Can be one of: `read` or `write`.\n   */\n  secret_scanning_alerts?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to manage repository secrets. Can be one of: `read` or `write`.\n   */\n  secrets?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to view and manage security events like code scanning alerts. Can be one of: `read` or `write`.\n   */\n  security_events?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to manage just a single file. Can be one of: `read` or `write`.\n   */\n  single_file?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token for commit statuses. Can be one of: `read` or `write`.\n   */\n  statuses?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to manage team discussions and related comments. Can be one of: `read` or `write`.\n   */\n  team_discussions?: 'read' | 'write';\n  /**\n   * The level of permission to grant the access token to retrieve Dependabot alerts. Can be one of: `read`.\n   */\n  vulnerability_alerts?: 'read';\n  /**\n   * The level of permission to grant the access token to update GitHub Actions workflow files. Can be one of: `write`.\n   */\n  workflows?: 'write';\n};\n\n/**\n * The authorization associated with an OAuth Access.\n */\nexport type ApplicationGrant = {\n  app: {\n    client_id: string;\n    name: string;\n    /**\n     * @format uri\n     */\n    url: string;\n  };\n  /**\n   * @example \"2011-09-06T17:26:27.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  /**\n   * @example public_repo\n   */\n  scopes: string[];\n  /**\n   * @example \"2011-09-06T20:39:23.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/applications/grants/1\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user?: SimpleUser;\n};\n\n/**\n * An artifact\n */\nexport type Artifact = {\n  /**\n   * @example https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip\n   */\n  archive_download_url: string;\n  /**\n   * @format date-time\n   */\n  created_at: string | null;\n  /**\n   * Whether or not the artifact has expired.\n   */\n  expired: boolean;\n  /**\n   * @format date-time\n   */\n  expires_at: string;\n  /**\n   * @example 5\n   */\n  id: number;\n  /**\n   * The name of the artifact.\n   *\n   * @example AdventureWorks.Framework\n   */\n  name: string;\n  /**\n   * @example MDEwOkNoZWNrU3VpdGU1\n   */\n  node_id: string;\n  /**\n   * The size in bytes of the artifact.\n   *\n   * @example 12345\n   */\n  size_in_bytes: number;\n  /**\n   * @format date-time\n   */\n  updated_at: string | null;\n  /**\n   * @example https://api.github.com/repos/github/hello-world/actions/artifacts/5\n   */\n  url: string;\n};\n\nexport type AuditLogEvent = {\n  /**\n   * The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time).\n   */\n  ['@timestamp']?: number;\n  /**\n   * The name of the action that was performed, for example `user.login` or `repo.create`.\n   */\n  action?: string;\n  active?: boolean;\n  active_was?: boolean;\n  /**\n   * The actor who performed the action.\n   */\n  actor?: string;\n  /**\n   * The username of the account being blocked.\n   */\n  blocked_user?: string;\n  business?: string;\n  config?: any[];\n  config_was?: any[];\n  content_type?: string;\n  /**\n   * The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time).\n   */\n  created_at?: number;\n  deploy_key_fingerprint?: string;\n  emoji?: string;\n  events?: any[];\n  events_were?: any[];\n  explanation?: string;\n  fingerprint?: string;\n  hook_id?: number;\n  limited_availability?: boolean;\n  message?: string;\n  name?: string;\n  old_user?: string;\n  openssh_public_key?: string;\n  org?: string;\n  previous_visibility?: string;\n  read_only?: boolean;\n  /**\n   * The name of the repository.\n   */\n  repo?: string;\n  /**\n   * The name of the repository.\n   */\n  repository?: string;\n  repository_public?: boolean;\n  target_login?: string;\n  team?: string;\n  /**\n   * The type of protocol (for example, HTTP or SSH) used to transfer Git data.\n   */\n  transport_protocol?: number;\n  /**\n   * A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data.\n   */\n  transport_protocol_name?: string;\n  /**\n   * The user that was affected by the action performed (if available).\n   */\n  user?: string;\n  /**\n   * The repository visibility, for example `public` or `private`.\n   */\n  visibility?: string;\n};\n\n/**\n * Authentication Token\n */\nexport type AuthenticationToken = {\n  /**\n   * The time this token expires\n   *\n   * @example \"2016-07-11T22:14:10.000Z\"\n   * @format date-time\n   */\n  expires_at: string;\n  /**\n   * @example {\"deployments\":\"write\",\"issues\":\"read\"}\n   */\n  permissions?: Record<string, any>;\n  /**\n   * The repositories this token has access to\n   */\n  repositories?: Repository[];\n  /**\n   * Describe whether all repositories have been selected or there's a selection involved\n   */\n  repository_selection?: 'all' | 'selected';\n  /**\n   * @example config.yaml\n   */\n  single_file?: string | null;\n  /**\n   * The token used for authentication\n   *\n   * @example v1.1f699f1069f60xxx\n   */\n  token: string;\n};\n\n/**\n * How the author is associated with the repository.\n *\n * @example OWNER\n */\nexport type AuthorAssociation =\n  | 'COLLABORATOR'\n  | 'CONTRIBUTOR'\n  | 'FIRST_TIMER'\n  | 'FIRST_TIME_CONTRIBUTOR'\n  | 'MANNEQUIN'\n  | 'MEMBER'\n  | 'NONE'\n  | 'OWNER';\n\n/**\n * The authorization for an OAuth app, GitHub App, or a Personal Access Token.\n */\nexport type Authorization = {\n  app: {\n    client_id: string;\n    name: string;\n    /**\n     * @format uri\n     */\n    url: string;\n  };\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  fingerprint: string | null;\n  hashed_token: string | null;\n  id: number;\n  installation?: ScopedInstallation;\n  note: string | null;\n  /**\n   * @format uri\n   */\n  note_url: string | null;\n  /**\n   * A list of scopes that this authorization is in.\n   */\n  scopes: string[] | null;\n  token: string;\n  token_last_eight: string | null;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user?: SimpleUser;\n};\n\n/**\n * The status of auto merging a pull request.\n */\nexport type AutoMerge = {\n  /**\n   * Commit message for the merge commit.\n   */\n  commit_message: string;\n  /**\n   * Title for the merge commit message.\n   */\n  commit_title: string;\n  enabled_by: SimpleUser;\n  /**\n   * The merge method to use.\n   */\n  merge_method: 'merge' | 'squash' | 'rebase';\n} | null;\n\n/**\n * Base Gist\n */\nexport type BaseGist = {\n  comments: number;\n  /**\n   * @format uri\n   */\n  comments_url: string;\n  /**\n   * @format uri\n   */\n  commits_url: string;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  description: string | null;\n  files: {\n    [key: string]: {\n      filename?: string;\n      language?: string;\n      raw_url?: string;\n      size?: number;\n      type?: string;\n    };\n  };\n  forks?: any[];\n  /**\n   * @format uri\n   */\n  forks_url: string;\n  /**\n   * @format uri\n   */\n  git_pull_url: string;\n  /**\n   * @format uri\n   */\n  git_push_url: string;\n  history?: any[];\n  /**\n   * @format uri\n   */\n  html_url: string;\n  id: string;\n  node_id: string;\n  /**\n   * Simple User\n   */\n  owner?: SimpleUser;\n  public: boolean;\n  truncated?: boolean;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * Basic Error\n */\nexport type BasicError = {\n  documentation_url?: string;\n  message?: string;\n};\n\n/**\n * Blob\n */\nexport type Blob = {\n  content: string;\n  encoding: string;\n  highlighted_content?: string;\n  node_id: string;\n  sha: string;\n  size: number | null;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Branch Protection\n */\nexport type BranchProtection = {\n  allow_deletions?: {\n    enabled?: boolean;\n  };\n  allow_force_pushes?: {\n    enabled?: boolean;\n  };\n  enabled: boolean;\n  enforce_admins?: ProtectedBranchAdminEnforced;\n  /**\n   * @example \"branch/with/protection\"\n   */\n  name?: string;\n  /**\n   * @example \"https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection\"\n   */\n  protection_url?: string;\n  required_linear_history?: {\n    enabled?: boolean;\n  };\n  required_pull_request_reviews?: ProtectedBranchPullRequestReview;\n  required_status_checks: {\n    contexts: string[];\n    contexts_url?: string;\n    enforcement_level: string;\n    url?: string;\n  };\n  restrictions?: BranchRestrictionPolicy;\n  url?: string;\n};\n\n/**\n * Branch Restriction Policy\n */\nexport type BranchRestrictionPolicy = {\n  apps: {\n    created_at?: string;\n    description?: string;\n    events?: string[];\n    external_url?: string;\n    html_url?: string;\n    id?: number;\n    name?: string;\n    node_id?: string;\n    owner?: {\n      avatar_url?: string;\n      description?: string;\n      events_url?: string;\n      /**\n       * @example \"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"\n       */\n      followers_url?: string;\n      /**\n       * @example \"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"\n       */\n      following_url?: string;\n      /**\n       * @example \"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"\n       */\n      gists_url?: string;\n      /**\n       * @example \"\"\n       */\n      gravatar_id?: string;\n      hooks_url?: string;\n      /**\n       * @example \"https://github.com/testorg-ea8ec76d71c3af4b\"\n       */\n      html_url?: string;\n      id?: number;\n      issues_url?: string;\n      login?: string;\n      members_url?: string;\n      node_id?: string;\n      /**\n       * @example \"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"\n       */\n      organizations_url?: string;\n      public_members_url?: string;\n      /**\n       * @example \"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"\n       */\n      received_events_url?: string;\n      repos_url?: string;\n      /**\n       * @example \"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"\n       */\n      starred_url?: string;\n      /**\n       * @example \"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"\n       */\n      subscriptions_url?: string;\n      /**\n       * @example \"Organization\"\n       */\n      type?: string;\n      url?: string;\n    };\n    permissions?: {\n      contents?: string;\n      issues?: string;\n      metadata?: string;\n      single_file?: string;\n    };\n    slug?: string;\n    updated_at?: string;\n  }[];\n  /**\n   * @format uri\n   */\n  apps_url: string;\n  teams: {\n    description?: string | null;\n    html_url?: string;\n    id?: number;\n    members_url?: string;\n    name?: string;\n    node_id?: string;\n    parent?: string | null;\n    permission?: string;\n    privacy?: string;\n    repositories_url?: string;\n    slug?: string;\n    url?: string;\n  }[];\n  /**\n   * @format uri\n   */\n  teams_url: string;\n  /**\n   * @format uri\n   */\n  url: string;\n  users: {\n    avatar_url?: string;\n    events_url?: string;\n    followers_url?: string;\n    following_url?: string;\n    gists_url?: string;\n    gravatar_id?: string;\n    html_url?: string;\n    id?: number;\n    login?: string;\n    node_id?: string;\n    organizations_url?: string;\n    received_events_url?: string;\n    repos_url?: string;\n    site_admin?: boolean;\n    starred_url?: string;\n    subscriptions_url?: string;\n    type?: string;\n    url?: string;\n  }[];\n  /**\n   * @format uri\n   */\n  users_url: string;\n};\n\n/**\n * Branch Short\n */\nexport type BranchShort = {\n  commit: {\n    sha: string;\n    url: string;\n  };\n  name: string;\n  protected: boolean;\n};\n\n/**\n * Branch With Protection\n */\nexport type BranchWithProtection = {\n  _links: {\n    html: string;\n    /**\n     * @format uri\n     */\n    self: string;\n  };\n  commit: Commit;\n  name: string;\n  /**\n   * @example \"mas*\"\n   */\n  pattern?: string;\n  protected: boolean;\n  protection: BranchProtection;\n  /**\n   * @format uri\n   */\n  protection_url: string;\n  /**\n   * @example 1\n   */\n  required_approving_review_count?: number;\n};\n\n/**\n * Check Annotation\n */\nexport type CheckAnnotation = {\n  /**\n   * @example warning\n   */\n  annotation_level: string | null;\n  blob_href: string;\n  /**\n   * @example 10\n   */\n  end_column: number | null;\n  /**\n   * @example 2\n   */\n  end_line: number;\n  /**\n   * @example Check your spelling for 'banaas'.\n   */\n  message: string | null;\n  /**\n   * @example README.md\n   */\n  path: string;\n  /**\n   * @example Do you mean 'bananas' or 'banana'?\n   */\n  raw_details: string | null;\n  /**\n   * @example 5\n   */\n  start_column: number | null;\n  /**\n   * @example 2\n   */\n  start_line: number;\n  /**\n   * @example Spell Checker\n   */\n  title: string | null;\n};\n\n/**\n * A check performed on the code of a given code change\n */\nexport type CheckRun = {\n  /**\n   * GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.\n   */\n  app: Integration;\n  check_suite: {\n    id: number;\n  } | null;\n  /**\n   * @example \"2018-05-04T01:14:52.000Z\"\n   * @format date-time\n   */\n  completed_at: string | null;\n  /**\n   * @example neutral\n   */\n  conclusion:\n    | 'success'\n    | 'failure'\n    | 'neutral'\n    | 'cancelled'\n    | 'skipped'\n    | 'timed_out'\n    | 'action_required';\n  deployment?: DeploymentSimple;\n  /**\n   * @example https://example.com\n   */\n  details_url: string | null;\n  /**\n   * @example 42\n   */\n  external_id: string | null;\n  /**\n   * The SHA of the commit that is being checked.\n   *\n   * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d\n   */\n  head_sha: string;\n  /**\n   * @example https://github.com/github/hello-world/runs/4\n   */\n  html_url: string | null;\n  /**\n   * The id of the check.\n   *\n   * @example 21\n   */\n  id: number;\n  /**\n   * The name of the check.\n   *\n   * @example test-coverage\n   */\n  name: string;\n  /**\n   * @example MDg6Q2hlY2tSdW40\n   */\n  node_id: string;\n  output: {\n    annotations_count: number;\n    /**\n     * @format uri\n     */\n    annotations_url: string;\n    summary: string | null;\n    text: string | null;\n    title: string | null;\n  };\n  pull_requests: PullRequestMinimal[];\n  /**\n   * @example \"2018-05-04T01:14:52.000Z\"\n   * @format date-time\n   */\n  started_at: string | null;\n  /**\n   * The phase of the lifecycle that the check is currently in.\n   *\n   * @example queued\n   */\n  status: 'queued' | 'in_progress' | 'completed';\n  /**\n   * @example https://api.github.com/repos/github/hello-world/check-runs/4\n   */\n  url: string;\n};\n\n/**\n * A suite of checks performed on the code of a given code change\n */\nexport type CheckSuite = {\n  /**\n   * @example d6fde92930d4715a2b49857d24b940956b26d2d3\n   */\n  after: string | null;\n  /**\n   * GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.\n   */\n  app: Integration;\n  /**\n   * @example 146e867f55c26428e5f9fade55a9bbf5e95a7912\n   */\n  before: string | null;\n  check_runs_url: string;\n  /**\n   * @example neutral\n   */\n  conclusion:\n    | 'success'\n    | 'failure'\n    | 'neutral'\n    | 'cancelled'\n    | 'skipped'\n    | 'timed_out'\n    | 'action_required';\n  /**\n   * @format date-time\n   */\n  created_at: string | null;\n  /**\n   * @example master\n   */\n  head_branch: string | null;\n  head_commit: SimpleCommit;\n  /**\n   * The SHA of the head commit that is being checked.\n   *\n   * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d\n   */\n  head_sha: string;\n  /**\n   * @example 5\n   */\n  id: number;\n  latest_check_runs_count: number;\n  /**\n   * @example MDEwOkNoZWNrU3VpdGU1\n   */\n  node_id: string;\n  pull_requests: PullRequestMinimal[] | null;\n  repository: MinimalRepository;\n  /**\n   * @example completed\n   */\n  status: 'queued' | 'in_progress' | 'completed';\n  /**\n   * @format date-time\n   */\n  updated_at: string | null;\n  /**\n   * @example https://api.github.com/repos/github/hello-world/check-suites/5\n   */\n  url: string | null;\n};\n\n/**\n * Check suite configuration preferences for a repository.\n */\nexport type CheckSuitePreference = {\n  preferences: {\n    auto_trigger_checks?: {\n      app_id: number;\n      setting: boolean;\n    }[];\n  };\n  repository: Repository;\n};\n\n/**\n * Clone Traffic\n */\nexport type CloneTraffic = {\n  clones: Traffic[];\n  /**\n   * @example 173\n   */\n  count: number;\n  /**\n   * @example 128\n   */\n  uniques: number;\n};\n\n/**\n * Code Frequency Stat\n */\nexport type CodeFrequencyStat = number[];\n\n/**\n * Code Of Conduct\n */\nexport type CodeOfConduct = {\n  /**\n     * @example # Contributor Covenant Code of Conduct\n    \n    ## Our Pledge\n    \n    In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n    \n    ## Our Standards\n    \n    Examples of behavior that contributes to creating a positive environment include:\n    \n    * Using welcoming and inclusive language\n    * Being respectful of differing viewpoints and experiences\n    * Gracefully accepting constructive criticism\n    * Focusing on what is best for the community\n    * Showing empathy towards other community members\n    \n    Examples of unacceptable behavior by participants include:\n    \n    * The use of sexualized language or imagery and unwelcome sexual attention or advances\n    * Trolling, insulting/derogatory comments, and personal or political attacks\n    * Public or private harassment\n    * Publishing others' private information, such as a physical or electronic address, without explicit permission\n    * Other conduct which could reasonably be considered inappropriate in a professional setting\n    \n    ## Our Responsibilities\n    \n    Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response\n                      to any instances of unacceptable behavior.\n    \n    Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n    \n    ## Scope\n    \n    This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address,\n                      posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.\n    \n    ## Enforcement\n    \n    Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n    \n    Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n    \n    ## Attribution\n    \n    This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]\n    \n    [homepage]: http://contributor-covenant.org\n    [version]: http://contributor-covenant.org/version/1/4/\n     */\n  body?: string;\n  /**\n   * @format uri\n   */\n  html_url: string | null;\n  /**\n   * @example contributor_covenant\n   */\n  key: string;\n  /**\n   * @example Contributor Covenant\n   */\n  name: string;\n  /**\n   * @example https://api.github.com/codes_of_conduct/contributor_covenant\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Code of Conduct Simple\n */\nexport type CodeOfConductSimple = {\n  /**\n   * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md\n   * @format uri\n   */\n  html_url: string | null;\n  /**\n   * @example citizen_code_of_conduct\n   */\n  key: string;\n  /**\n   * @example Citizen Code of Conduct\n   */\n  name: string;\n  /**\n   * @example https://api.github.com/repos/github/docs/community/code_of_conduct\n   * @format uri\n   */\n  url: string;\n};\n\nexport type CodeScanningAlert = {\n  created_at: AlertCreatedAt;\n  dismissed_at: CodeScanningAlertDismissedAt;\n  dismissed_by: SimpleUser;\n  dismissed_reason: CodeScanningAlertDismissedReason;\n  html_url: AlertHtmlUrl;\n  instances_url: AlertInstancesUrl;\n  most_recent_instance: CodeScanningAlertInstance;\n  number: AlertNumber;\n  rule: CodeScanningAlertRule;\n  state: CodeScanningAlertState;\n  tool: CodeScanningAnalysisTool;\n  url: AlertUrl;\n};\n\n/**\n * A classification of the file. For example to identify it as generated.\n */\nexport type CodeScanningAlertClassification =\n  | 'source'\n  | 'generated'\n  | 'test'\n  | 'library';\n\n/**\n * The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.\n *\n * @format date-time\n */\nexport type CodeScanningAlertDismissedAt = string | null;\n\n/**\n * **Required when the state is dismissed.** The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`.\n */\nexport type CodeScanningAlertDismissedReason =\n  | ('false positive' | \"won't fix\" | 'used in tests')\n  | any\n  | null;\n\n/**\n * Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed.\n */\nexport type CodeScanningAlertEnvironment = string;\n\nexport type CodeScanningAlertInstance = {\n  analysis_key?: CodeScanningAnalysisAnalysisKey;\n  /**\n   * Classifications that have been applied to the file that triggered the alert.\n   * For example identifying it as documentation, or a generated file.\n   */\n  classifications?: CodeScanningAlertClassification[];\n  commit_sha?: string;\n  environment?: CodeScanningAlertEnvironment;\n  html_url?: string;\n  location?: CodeScanningAlertLocation;\n  message?: {\n    text?: string;\n  };\n  ref?: CodeScanningRef;\n  state?: CodeScanningAlertState;\n};\n\nexport type CodeScanningAlertItems = {\n  created_at: AlertCreatedAt;\n  dismissed_at: CodeScanningAlertDismissedAt;\n  dismissed_by: SimpleUser;\n  dismissed_reason: CodeScanningAlertDismissedReason;\n  html_url: AlertHtmlUrl;\n  instances_url: AlertInstancesUrl;\n  most_recent_instance: CodeScanningAlertInstance;\n  number: AlertNumber;\n  rule: CodeScanningAlertRuleSummary;\n  state: CodeScanningAlertState;\n  tool: CodeScanningAnalysisTool;\n  url: AlertUrl;\n};\n\n/**\n * Describe a region within a file for the alert.\n */\nexport type CodeScanningAlertLocation = {\n  end_column?: number;\n  end_line?: number;\n  path?: string;\n  start_column?: number;\n  start_line?: number;\n};\n\nexport type CodeScanningAlertRule = {\n  /**\n   * A short description of the rule used to detect the alert.\n   */\n  description?: string;\n  /**\n   * description of the rule used to detect the alert.\n   */\n  full_description?: string;\n  /**\n   * Detailed documentation for the rule as GitHub Flavored Markdown.\n   */\n  help?: string;\n  /**\n   * A unique identifier for the rule used to detect the alert.\n   */\n  id?: string | null;\n  /**\n   * The name of the rule used to detect the alert.\n   */\n  name?: string;\n  /**\n   * The severity of the alert.\n   */\n  severity?: 'none' | 'note' | 'warning' | 'error';\n  /**\n   * A set of tags applicable for the rule.\n   */\n  tags?: string[];\n};\n\nexport type CodeScanningAlertRuleSummary = {\n  /**\n   * A short description of the rule used to detect the alert.\n   */\n  description?: string;\n  /**\n   * A unique identifier for the rule used to detect the alert.\n   */\n  id?: string | null;\n  /**\n   * The name of the rule used to detect the alert.\n   */\n  name?: string;\n  /**\n   * The severity of the alert.\n   */\n  severity?: 'none' | 'note' | 'warning' | 'error';\n};\n\n/**\n * Sets the state of the code scanning alert. Can be one of `open` or `dismissed`. You must provide `dismissed_reason` when you set the state to `dismissed`.\n */\nexport type CodeScanningAlertSetState = 'open' | 'dismissed';\n\n/**\n * State of a code scanning alert.\n */\nexport type CodeScanningAlertState = 'open' | 'closed' | 'dismissed' | 'fixed';\n\nexport type CodeScanningAnalysis = {\n  analysis_key: CodeScanningAnalysisAnalysisKey;\n  commit_sha: CodeScanningAnalysisCommitSha;\n  created_at: CodeScanningAnalysisCreatedAt;\n  deletable: boolean;\n  environment: CodeScanningAnalysisEnvironment;\n  /**\n   * @example error reading field xyz\n   */\n  error: string;\n  /**\n   * Unique identifier for this analysis.\n   */\n  id: number;\n  ref: CodeScanningRef;\n  /**\n   * The total number of results in the analysis.\n   */\n  results_count: number;\n  /**\n   * The total number of rules used in the analysis.\n   */\n  rules_count: number;\n  sarif_id: CodeScanningAnalysisSarifId;\n  tool: CodeScanningAnalysisTool;\n  url: CodeScanningAnalysisUrl;\n};\n\n/**\n * Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name.\n */\nexport type CodeScanningAnalysisAnalysisKey = string;\n\n/**\n * The SHA of the commit to which the analysis you are uploading relates.\n *\n * @maxLength 40\n * @minLength 40\n * @pattern ^[0-9a-fA-F]+$\n */\nexport type CodeScanningAnalysisCommitSha = string;\n\n/**\n * The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.\n *\n * @format date-time\n */\nexport type CodeScanningAnalysisCreatedAt = string;\n\n/**\n * Successful deletion of a code scanning analysis\n */\nexport type CodeScanningAnalysisDeletion = {\n  /**\n   * Next deletable analysis in chain, with last analysis deletion confirmation\n   *\n   * @format uri\n   */\n  confirm_delete_url: string | null;\n  /**\n   * Next deletable analysis in chain, without last analysis deletion confirmation\n   *\n   * @format uri\n   */\n  next_analysis_url: string | null;\n};\n\n/**\n * Identifies the variable values associated with the environment in which this analysis was performed.\n */\nexport type CodeScanningAnalysisEnvironment = string;\n\n/**\n * A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see \"[SARIF support for code scanning](https://docs.github.com/github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning).\"\n */\nexport type CodeScanningAnalysisSarifFile = string;\n\n/**\n * An identifier for the upload.\n *\n * @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53\n */\nexport type CodeScanningAnalysisSarifId = string;\n\nexport type CodeScanningAnalysisTool = {\n  guid?: CodeScanningAnalysisToolGuid;\n  name?: CodeScanningAnalysisToolName;\n  version?: CodeScanningAnalysisToolVersion;\n};\n\n/**\n * The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data.\n */\nexport type CodeScanningAnalysisToolGuid = string | null;\n\n/**\n * The name of the tool used to generate the code scanning analysis.\n */\nexport type CodeScanningAnalysisToolName = string;\n\n/**\n * The version of the tool used to generate the code scanning analysis.\n */\nexport type CodeScanningAnalysisToolVersion = string | null;\n\n/**\n * The REST API URL of the analysis resource.\n *\n * @format uri\n */\nexport type CodeScanningAnalysisUrl = string;\n\n/**\n * The full Git reference, formatted as `refs/heads/<branch name>`,\n * `refs/pull/<number>/merge`, or `refs/pull/<number>/head`.\n */\nexport type CodeScanningRef = string;\n\nexport type CodeScanningSarifsReceipt = {\n  id?: CodeScanningAnalysisSarifId;\n  /**\n   * The REST API URL for checking the status of the upload.\n   *\n   * @format uri\n   */\n  url?: string;\n};\n\nexport type CodeScanningSarifsStatus = {\n  /**\n   * The REST API URL for getting the analyses associated with the upload.\n   *\n   * @format uri\n   */\n  analyses_url?: string | null;\n  /**\n   * `pending` files have not yet been processed, while `complete` means all results in the SARIF have been stored.\n   */\n  processing_status?: 'pending' | 'complete';\n};\n\n/**\n * Code Search Result Item\n */\nexport type CodeSearchResultItem = {\n  file_size?: number;\n  /**\n   * @format uri\n   */\n  git_url: string;\n  /**\n   * @format uri\n   */\n  html_url: string;\n  language?: string | null;\n  /**\n   * @format date-time\n   */\n  last_modified_at?: string;\n  /**\n   * @example 73..77\n   * @example 77..78\n   */\n  line_numbers?: string[];\n  name: string;\n  path: string;\n  repository: MinimalRepository;\n  score: number;\n  sha: string;\n  text_matches?: SearchResultTextMatches;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Collaborator\n */\nexport type Collaborator = {\n  /**\n   * @example https://github.com/images/error/octocat_happy.gif\n   * @format uri\n   */\n  avatar_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/events{/privacy}\n   */\n  events_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/followers\n   * @format uri\n   */\n  followers_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/following{/other_user}\n   */\n  following_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/gists{/gist_id}\n   */\n  gists_url: string;\n  /**\n   * @example 41d064eb2195891e12d0413f63227ea7\n   */\n  gravatar_id: string | null;\n  /**\n   * @example https://github.com/octocat\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  /**\n   * @example octocat\n   */\n  login: string;\n  /**\n   * @example MDQ6VXNlcjE=\n   */\n  node_id: string;\n  /**\n   * @example https://api.github.com/users/octocat/orgs\n   * @format uri\n   */\n  organizations_url: string;\n  permissions?: {\n    admin: boolean;\n    pull: boolean;\n    push: boolean;\n  };\n  /**\n   * @example https://api.github.com/users/octocat/received_events\n   * @format uri\n   */\n  received_events_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/repos\n   * @format uri\n   */\n  repos_url: string;\n  site_admin: boolean;\n  /**\n   * @example https://api.github.com/users/octocat/starred{/owner}{/repo}\n   */\n  starred_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/subscriptions\n   * @format uri\n   */\n  subscriptions_url: string;\n  /**\n   * @example User\n   */\n  type: string;\n  /**\n   * @example https://api.github.com/users/octocat\n   * @format uri\n   */\n  url: string;\n};\n\nexport type CombinedBillingUsage = {\n  /**\n   * Numbers of days left in billing cycle.\n   */\n  days_left_in_billing_cycle: number;\n  /**\n   * Estimated storage space (GB) used in billing cycle.\n   */\n  estimated_paid_storage_for_month: number;\n  /**\n   * Estimated sum of free and paid storage space (GB) used in billing cycle.\n   */\n  estimated_storage_for_month: number;\n};\n\n/**\n * Combined Commit Status\n */\nexport type CombinedCommitStatus = {\n  /**\n   * @format uri\n   */\n  commit_url: string;\n  repository: MinimalRepository;\n  sha: string;\n  state: string;\n  statuses: SimpleCommitStatus[];\n  total_count: number;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Commit\n */\nexport type Commit = {\n  /**\n   * Simple User\n   */\n  author: SimpleUser;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments\n   * @format uri\n   */\n  comments_url: string;\n  commit: {\n    /**\n     * Metaproperties for Git author/committer information.\n     */\n    author: GitUser;\n    /**\n     * @example 0\n     */\n    comment_count: number;\n    /**\n     * Metaproperties for Git author/committer information.\n     */\n    committer: GitUser;\n    /**\n     * @example Fix all the bugs\n     */\n    message: string;\n    tree: {\n      /**\n       * @example 827efc6d56897b048c772eb4087f854f46256132\n       */\n      sha: string;\n      /**\n       * @example https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132\n       * @format uri\n       */\n      url: string;\n    };\n    /**\n     * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e\n     * @format uri\n     */\n    url: string;\n    verification?: Verification;\n  };\n  /**\n   * Simple User\n   */\n  committer: SimpleUser;\n  files?: {\n    additions?: number;\n    blob_url?: string;\n    changes?: number;\n    /**\n     * @example \"https://api.github.com/repos/owner-3d68404b07d25daeb2d4a6bf/AAA_Public_Repo/contents/geometry.js?ref=c3956841a7cb7e8ba4a6fd923568d86958f01573\"\n     */\n    contents_url?: string;\n    deletions?: number;\n    filename?: string;\n    patch?: string;\n    /**\n     * @example \"subdir/before_name.txt\"\n     */\n    previous_filename?: string;\n    raw_url?: string;\n    /**\n     * @example \"1e8e60ce9733d5283f7836fa602b6365a66b2567\"\n     */\n    sha?: string;\n    status?: string;\n  }[];\n  /**\n   * @example https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==\n   */\n  node_id: string;\n  parents: {\n    /**\n     * @example https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd\n     * @format uri\n     */\n    html_url?: string;\n    /**\n     * @example 7638417db6d59f3c431d3e1f261cc637155684cd\n     */\n    sha: string;\n    /**\n     * @example https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd\n     * @format uri\n     */\n    url: string;\n  }[];\n  /**\n   * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e\n   */\n  sha: string;\n  stats?: {\n    additions?: number;\n    deletions?: number;\n    total?: number;\n  };\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Commit Activity\n */\nexport type CommitActivity = {\n  /**\n   * @example 0\n   * @example 3\n   * @example 26\n   * @example 20\n   * @example 39\n   * @example 1\n   * @example 0\n   */\n  days: number[];\n  /**\n   * @example 89\n   */\n  total: number;\n  /**\n   * @example 1336280400\n   */\n  week: number;\n};\n\n/**\n * Commit Comment\n */\nexport type CommitComment = {\n  author_association: AuthorAssociation;\n  body: string;\n  commit_id: string;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @format uri\n   */\n  html_url: string;\n  id: number;\n  line: number | null;\n  node_id: string;\n  path: string | null;\n  position: number | null;\n  reactions?: ReactionRollup;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * Commit Comparison\n */\nexport type CommitComparison = {\n  /**\n   * @example 4\n   */\n  ahead_by: number;\n  base_commit: Commit;\n  /**\n   * @example 5\n   */\n  behind_by: number;\n  commits: Commit[];\n  /**\n   * @example https://github.com/octocat/Hello-World/compare/master...topic.diff\n   * @format uri\n   */\n  diff_url: string;\n  files: DiffEntry[];\n  /**\n   * @example https://github.com/octocat/Hello-World/compare/master...topic\n   * @format uri\n   */\n  html_url: string;\n  merge_base_commit: Commit;\n  /**\n   * @example https://github.com/octocat/Hello-World/compare/master...topic.patch\n   * @format uri\n   */\n  patch_url: string;\n  /**\n   * @example https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17\n   * @format uri\n   */\n  permalink_url: string;\n  /**\n   * @example ahead\n   */\n  status: 'diverged' | 'ahead' | 'behind' | 'identical';\n  /**\n   * @example 6\n   */\n  total_commits: number;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/compare/master...topic\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Commit Search Result Item\n */\nexport type CommitSearchResultItem = {\n  /**\n   * Simple User\n   */\n  author: SimpleUser;\n  /**\n   * @format uri\n   */\n  comments_url: string;\n  commit: {\n    author: {\n      /**\n       * @format date-time\n       */\n      date: string;\n      email: string;\n      name: string;\n    };\n    comment_count: number;\n    /**\n     * Metaproperties for Git author/committer information.\n     */\n    committer: GitUser;\n    message: string;\n    tree: {\n      sha: string;\n      /**\n       * @format uri\n       */\n      url: string;\n    };\n    /**\n     * @format uri\n     */\n    url: string;\n    verification?: Verification;\n  };\n  /**\n   * Metaproperties for Git author/committer information.\n   */\n  committer: GitUser;\n  /**\n   * @format uri\n   */\n  html_url: string;\n  node_id: string;\n  parents: {\n    html_url?: string;\n    sha?: string;\n    url?: string;\n  }[];\n  repository: MinimalRepository;\n  score: number;\n  sha: string;\n  text_matches?: SearchResultTextMatches;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\nexport type CommunityHealthFile = {\n  /**\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Community Profile\n */\nexport type CommunityProfile = {\n  /**\n   * @example true\n   */\n  content_reports_enabled?: boolean;\n  /**\n   * @example My first repository on GitHub!\n   */\n  description: string | null;\n  /**\n   * @example example.com\n   */\n  documentation: string | null;\n  files: {\n    /**\n     * Code of Conduct Simple\n     */\n    code_of_conduct: CodeOfConductSimple;\n    contributing: CommunityHealthFile;\n    issue_template: CommunityHealthFile;\n    /**\n     * License Simple\n     */\n    license: LicenseSimple;\n    pull_request_template: CommunityHealthFile;\n    readme: CommunityHealthFile;\n  };\n  /**\n   * @example 100\n   */\n  health_percentage: number;\n  /**\n   * @example \"2017-02-28T19:09:29.000Z\"\n   * @format date-time\n   */\n  updated_at: string | null;\n};\n\n/**\n * A list of directory items\n */\nexport type ContentDirectory = {\n  _links: {\n    /**\n     * @format uri\n     */\n    git: string | null;\n    /**\n     * @format uri\n     */\n    html: string | null;\n    /**\n     * @format uri\n     */\n    self: string;\n  };\n  content?: string;\n  /**\n   * @format uri\n   */\n  download_url: string | null;\n  /**\n   * @format uri\n   */\n  git_url: string | null;\n  /**\n   * @format uri\n   */\n  html_url: string | null;\n  name: string;\n  path: string;\n  sha: string;\n  size: number;\n  type: string;\n  /**\n   * @format uri\n   */\n  url: string;\n}[];\n\n/**\n * Content File\n */\nexport type ContentFile = {\n  _links: {\n    /**\n     * @format uri\n     */\n    git: string | null;\n    /**\n     * @format uri\n     */\n    html: string | null;\n    /**\n     * @format uri\n     */\n    self: string;\n  };\n  content: string;\n  /**\n   * @format uri\n   */\n  download_url: string | null;\n  encoding: string;\n  /**\n   * @format uri\n   */\n  git_url: string | null;\n  /**\n   * @format uri\n   */\n  html_url: string | null;\n  name: string;\n  path: string;\n  sha: string;\n  size: number;\n  /**\n   * @example \"git://example.com/defunkt/dotjs.git\"\n   */\n  submodule_git_url?: string;\n  /**\n   * @example \"actual/actual.md\"\n   */\n  target?: string;\n  type: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Content Reference attachments allow you to provide context around URLs posted in comments\n */\nexport type ContentReferenceAttachment = {\n  /**\n   * The body of the attachment\n   *\n   * @example Body of the attachment\n   * @maxLength 262144\n   */\n  body: string;\n  /**\n   * The ID of the attachment\n   *\n   * @example 21\n   */\n  id: number;\n  /**\n   * The node_id of the content attachment\n   *\n   * @example MDE3OkNvbnRlbnRBdHRhY2htZW50MjE=\n   */\n  node_id?: string;\n  /**\n   * The title of the attachment\n   *\n   * @example Title of the attachment\n   * @maxLength 1024\n   */\n  title: string;\n};\n\n/**\n * An object describing a symlink\n */\nexport type ContentSubmodule = {\n  _links: {\n    /**\n     * @format uri\n     */\n    git: string | null;\n    /**\n     * @format uri\n     */\n    html: string | null;\n    /**\n     * @format uri\n     */\n    self: string;\n  };\n  /**\n   * @format uri\n   */\n  download_url: string | null;\n  /**\n   * @format uri\n   */\n  git_url: string | null;\n  /**\n   * @format uri\n   */\n  html_url: string | null;\n  name: string;\n  path: string;\n  sha: string;\n  size: number;\n  /**\n   * @format uri\n   */\n  submodule_git_url: string;\n  type: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * An object describing a symlink\n */\nexport type ContentSymlink = {\n  _links: {\n    /**\n     * @format uri\n     */\n    git: string | null;\n    /**\n     * @format uri\n     */\n    html: string | null;\n    /**\n     * @format uri\n     */\n    self: string;\n  };\n  /**\n   * @format uri\n   */\n  download_url: string | null;\n  /**\n   * @format uri\n   */\n  git_url: string | null;\n  /**\n   * @format uri\n   */\n  html_url: string | null;\n  name: string;\n  path: string;\n  sha: string;\n  size: number;\n  target: string;\n  type: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Content Traffic\n */\nexport type ContentTraffic = {\n  /**\n   * @example 3542\n   */\n  count: number;\n  /**\n   * @example /github/hubot\n   */\n  path: string;\n  /**\n   * @example github/hubot: A customizable life embetterment robot.\n   */\n  title: string;\n  /**\n   * @example 2225\n   */\n  uniques: number;\n};\n\n/**\n * Content Tree\n */\nexport type ContentTree = {\n  _links: {\n    /**\n     * @format uri\n     */\n    git: string | null;\n    /**\n     * @format uri\n     */\n    html: string | null;\n    /**\n     * @format uri\n     */\n    self: string;\n  };\n  /**\n   * @format uri\n   */\n  download_url: string | null;\n  entries?: {\n    _links: {\n      /**\n       * @format uri\n       */\n      git: string | null;\n      /**\n       * @format uri\n       */\n      html: string | null;\n      /**\n       * @format uri\n       */\n      self: string;\n    };\n    content?: string;\n    /**\n     * @format uri\n     */\n    download_url: string | null;\n    /**\n     * @format uri\n     */\n    git_url: string | null;\n    /**\n     * @format uri\n     */\n    html_url: string | null;\n    name: string;\n    path: string;\n    sha: string;\n    size: number;\n    type: string;\n    /**\n     * @format uri\n     */\n    url: string;\n  }[];\n  /**\n   * @format uri\n   */\n  git_url: string | null;\n  /**\n   * @format uri\n   */\n  html_url: string | null;\n  name: string;\n  path: string;\n  sha: string;\n  size: number;\n  type: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Contributor\n */\nexport type Contributor = {\n  /**\n   * @format uri\n   */\n  avatar_url?: string;\n  contributions: number;\n  email?: string;\n  events_url?: string;\n  /**\n   * @format uri\n   */\n  followers_url?: string;\n  following_url?: string;\n  gists_url?: string;\n  gravatar_id?: string | null;\n  /**\n   * @format uri\n   */\n  html_url?: string;\n  id?: number;\n  login?: string;\n  name?: string;\n  node_id?: string;\n  /**\n   * @format uri\n   */\n  organizations_url?: string;\n  /**\n   * @format uri\n   */\n  received_events_url?: string;\n  /**\n   * @format uri\n   */\n  repos_url?: string;\n  site_admin?: boolean;\n  starred_url?: string;\n  /**\n   * @format uri\n   */\n  subscriptions_url?: string;\n  type: string;\n  /**\n   * @format uri\n   */\n  url?: string;\n};\n\n/**\n * Contributor Activity\n */\nexport type ContributorActivity = {\n  /**\n   * Simple User\n   */\n  author: SimpleUser;\n  /**\n   * @example 135\n   */\n  total: number;\n  /**\n   * @example {\"a\":6898,\"c\":10,\"d\":77,\"w\":\"1367712000\"}\n   */\n  weeks: {\n    a?: number;\n    c?: number;\n    d?: number;\n    w?: string;\n  }[];\n};\n\n/**\n * Credential Authorization\n */\nexport type CredentialAuthorization = {\n  /**\n   * @example 12345678\n   */\n  authorized_credential_id?: number | null;\n  /**\n   * The note given to the token. This will only be present when the credential is a token.\n   *\n   * @example my token\n   */\n  authorized_credential_note?: string | null;\n  /**\n   * The title given to the ssh key. This will only be present when the credential is an ssh key.\n   *\n   * @example my ssh key\n   */\n  authorized_credential_title?: string | null;\n  /**\n   * Date when the credential was last accessed. May be null if it was never accessed\n   *\n   * @example \"2011-01-26T19:06:43.000Z\"\n   * @format date-time\n   */\n  credential_accessed_at?: string | null;\n  /**\n   * Date when the credential was authorized for use.\n   *\n   * @example \"2011-01-26T19:06:43.000Z\"\n   * @format date-time\n   */\n  credential_authorized_at: string;\n  /**\n   * Unique identifier for the credential.\n   *\n   * @example 1\n   */\n  credential_id: number;\n  /**\n   * Human-readable description of the credential type.\n   *\n   * @example SSH Key\n   */\n  credential_type: string;\n  /**\n   * Unique string to distinguish the credential. Only included in responses with credential_type of SSH Key.\n   *\n   * @example jklmnop12345678\n   */\n  fingerprint?: string;\n  /**\n   * User login that owns the underlying credential.\n   *\n   * @example monalisa\n   */\n  login: string;\n  /**\n   * List of oauth scopes the token has been granted.\n   *\n   * @example user\n   * @example repo\n   */\n  scopes?: string[];\n  /**\n   * Last eight characters of the credential. Only included in responses with credential_type of personal access token.\n   *\n   * @example 12345678\n   */\n  token_last_eight?: string;\n};\n\n/**\n * An SSH key granting access to a single repository.\n */\nexport type DeployKey = {\n  created_at: string;\n  id: number;\n  key: string;\n  read_only: boolean;\n  title: string;\n  url: string;\n  verified: boolean;\n};\n\n/**\n * A request for a specific ref(branch,sha,tag) to be deployed\n */\nexport type Deployment = {\n  /**\n   * @example \"2012-07-20T01:19:13.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * Simple User\n   */\n  creator: SimpleUser;\n  /**\n   * @example Deploy request from hubot\n   */\n  description: string | null;\n  /**\n   * Name for the target deployment environment.\n   *\n   * @example production\n   */\n  environment: string;\n  /**\n   * Unique identifier of the deployment\n   *\n   * @example 42\n   */\n  id: number;\n  /**\n   * @example MDEwOkRlcGxveW1lbnQx\n   */\n  node_id: string;\n  /**\n   * @example staging\n   */\n  original_environment?: string;\n  payload: {};\n  /**\n   * GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.\n   */\n  performed_via_github_app?: Integration;\n  /**\n   * Specifies if the given environment is one that end-users directly interact with. Default: false.\n   *\n   * @example true\n   */\n  production_environment?: boolean;\n  /**\n   * The ref to deploy. This can be a branch, tag, or sha.\n   *\n   * @example topic-branch\n   */\n  ref: string;\n  /**\n   * @example https://api.github.com/repos/octocat/example\n   * @format uri\n   */\n  repository_url: string;\n  /**\n   * @example a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d\n   */\n  sha: string;\n  /**\n   * @example https://api.github.com/repos/octocat/example/deployments/1/statuses\n   * @format uri\n   */\n  statuses_url: string;\n  /**\n   * Parameter to specify a task to execute\n   *\n   * @example deploy\n   */\n  task: string;\n  /**\n   * Specifies if the given environment is will no longer exist at some point in the future. Default: false.\n   *\n   * @example true\n   */\n  transient_environment?: boolean;\n  /**\n   * @example \"2012-07-20T01:19:13.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/repos/octocat/example/deployments/1\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * The type of reviewer. Must be one of: `User` or `Team`\n *\n * @example User\n */\nexport type DeploymentReviewerType = 'User' | 'Team';\n\n/**\n * A deployment created as the result of an Actions check run from a workflow that references an environment\n */\nexport type DeploymentSimple = {\n  /**\n   * @example \"2012-07-20T01:19:13.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example Deploy request from hubot\n   */\n  description: string | null;\n  /**\n   * Name for the target deployment environment.\n   *\n   * @example production\n   */\n  environment: string;\n  /**\n   * Unique identifier of the deployment\n   *\n   * @example 42\n   */\n  id: number;\n  /**\n   * @example MDEwOkRlcGxveW1lbnQx\n   */\n  node_id: string;\n  /**\n   * @example staging\n   */\n  original_environment?: string;\n  /**\n   * GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.\n   */\n  performed_via_github_app?: Integration;\n  /**\n   * Specifies if the given environment is one that end-users directly interact with. Default: false.\n   *\n   * @example true\n   */\n  production_environment?: boolean;\n  /**\n   * @example https://api.github.com/repos/octocat/example\n   * @format uri\n   */\n  repository_url: string;\n  /**\n   * @example https://api.github.com/repos/octocat/example/deployments/1/statuses\n   * @format uri\n   */\n  statuses_url: string;\n  /**\n   * Parameter to specify a task to execute\n   *\n   * @example deploy\n   */\n  task: string;\n  /**\n   * Specifies if the given environment is will no longer exist at some point in the future. Default: false.\n   *\n   * @example true\n   */\n  transient_environment?: boolean;\n  /**\n   * @example \"2012-07-20T01:19:13.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/repos/octocat/example/deployments/1\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * The status of a deployment.\n */\nexport type DeploymentStatus = {\n  /**\n   * @example \"2012-07-20T01:19:13.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * Simple User\n   */\n  creator: SimpleUser;\n  /**\n   * @example https://api.github.com/repos/octocat/example/deployments/42\n   * @format uri\n   */\n  deployment_url: string;\n  /**\n   * A short description of the status.\n   *\n   * @default\n   * @example Deployment finished successfully.\n   * @maxLength 140\n   */\n  description: string;\n  /**\n   * The environment of the deployment that the status is for.\n   *\n   * @default\n   * @example production\n   */\n  environment?: string;\n  /**\n   * The URL for accessing your environment.\n   *\n   * @default\n   * @example https://staging.example.com/\n   * @format uri\n   */\n  environment_url?: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  /**\n   * The URL to associate with this status.\n   *\n   * @default\n   * @example https://example.com/deployment/42/output\n   * @format uri\n   */\n  log_url?: string;\n  /**\n   * @example MDE2OkRlcGxveW1lbnRTdGF0dXMx\n   */\n  node_id: string;\n  /**\n   * GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.\n   */\n  performed_via_github_app?: Integration;\n  /**\n   * @example https://api.github.com/repos/octocat/example\n   * @format uri\n   */\n  repository_url: string;\n  /**\n   * The state of the status.\n   *\n   * @example success\n   */\n  state:\n    | 'error'\n    | 'failure'\n    | 'inactive'\n    | 'pending'\n    | 'success'\n    | 'queued'\n    | 'in_progress';\n  /**\n   * Deprecated: the URL to associate with this status.\n   *\n   * @default\n   * @example https://example.com/deployment/42/output\n   * @format uri\n   */\n  target_url: string;\n  /**\n   * @example \"2012-07-20T01:19:13.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`.\n */\nexport type DeploymentBranchPolicy = {\n  /**\n   * Whether only branches that match the specified name patterns can deploy to this environment.  If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`.\n   */\n  custom_branch_policies: boolean;\n  /**\n   * Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`.\n   */\n  protected_branches: boolean;\n} | null;\n\n/**\n * Diff Entry\n */\nexport type DiffEntry = {\n  /**\n   * @example 103\n   */\n  additions: number;\n  /**\n   * @example https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt\n   * @format uri\n   */\n  blob_url: string;\n  /**\n   * @example 124\n   */\n  changes: number;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e\n   * @format uri\n   */\n  contents_url: string;\n  /**\n   * @example 21\n   */\n  deletions: number;\n  /**\n   * @example file1.txt\n   */\n  filename: string;\n  /**\n   * @example @@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test\n   */\n  patch?: string;\n  /**\n   * @example file.txt\n   */\n  previous_filename?: string;\n  /**\n   * @example https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt\n   * @format uri\n   */\n  raw_url: string;\n  /**\n   * @example bbcd538c8e72b8c175046e27cc8f907076331401\n   */\n  sha: string;\n  /**\n   * @example added\n   */\n  status: string;\n};\n\n/**\n * Email\n */\nexport type Email = {\n  /**\n   * @example octocat@github.com\n   * @format email\n   */\n  email: string;\n  /**\n   * @example true\n   */\n  primary: boolean;\n  /**\n   * @example true\n   */\n  verified: boolean;\n  /**\n   * @example public\n   */\n  visibility: string | null;\n};\n\n/**\n * The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.\n */\nexport type EnabledOrganizations = 'all' | 'none' | 'selected';\n\n/**\n * The policy that controls the repositories in the organization that are allowed to run GitHub Actions. Can be one of: `all`, `none`, or `selected`.\n */\nexport type EnabledRepositories = 'all' | 'none' | 'selected';\n\n/**\n * An enterprise account\n */\nexport type Enterprise = {\n  /**\n   * @format uri\n   */\n  avatar_url: string;\n  /**\n   * @example \"2019-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  created_at: string | null;\n  /**\n   * A short description of the enterprise.\n   */\n  description?: string | null;\n  /**\n   * @example https://github.com/enterprises/octo-business\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * Unique identifier of the enterprise\n   *\n   * @example 42\n   */\n  id: number;\n  /**\n   * The name of the enterprise.\n   *\n   * @example Octo Business\n   */\n  name: string;\n  /**\n   * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5\n   */\n  node_id: string;\n  /**\n   * The slug url identifier for the enterprise.\n   *\n   * @example octo-business\n   */\n  slug: string;\n  /**\n   * @example \"2019-01-26T19:14:43.000Z\"\n   * @format date-time\n   */\n  updated_at: string | null;\n  /**\n   * The enterprise's website URL.\n   *\n   * @format uri\n   */\n  website_url?: string | null;\n};\n\n/**\n * Details of a deployment environment\n */\nexport type Environment = {\n  /**\n   * The time that the environment was created, in ISO 8601 format.\n   *\n   * @example \"2020-11-23T22:00:40.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  deployment_branch_policy?: DeploymentBranchPolicy;\n  /**\n   * @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging\n   */\n  html_url: string;\n  /**\n   * The id of the environment.\n   *\n   * @example 56780428\n   */\n  id: number;\n  /**\n   * The name of the environment.\n   *\n   * @example staging\n   */\n  name: string;\n  /**\n   * @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg=\n   */\n  node_id: string;\n  protection_rules?: (\n    | {\n        /**\n         * @example 3515\n         */\n        id: number;\n        /**\n         * @example MDQ6R2F0ZTM1MTU=\n         */\n        node_id: string;\n        /**\n         * @example wait_timer\n         */\n        type: string;\n        wait_timer?: WaitTimer;\n      }\n    | {\n        /**\n         * @example 3755\n         */\n        id: number;\n        /**\n         * @example MDQ6R2F0ZTM3NTU=\n         */\n        node_id: string;\n        /**\n         * The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.\n         */\n        reviewers?: {\n          reviewer?: SimpleUser | TeamSimple;\n          type?: DeploymentReviewerType;\n        }[];\n        /**\n         * @example required_reviewers\n         */\n        type: string;\n      }\n    | {\n        /**\n         * @example 3515\n         */\n        id: number;\n        /**\n         * @example MDQ6R2F0ZTM1MTU=\n         */\n        node_id: string;\n        /**\n         * @example branch_policy\n         */\n        type: string;\n      }\n  )[];\n  /**\n   * The time that the environment was last updated, in ISO 8601 format.\n   *\n   * @example \"2020-11-23T22:00:40.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/repos/github/hello-world/environments/staging\n   */\n  url: string;\n};\n\n/**\n * An entry in the reviews log for environment deployments\n */\nexport type EnvironmentApprovals = {\n  /**\n   * The comment submitted with the deployment review\n   *\n   * @example Ship it!\n   */\n  comment: string;\n  /**\n   * The list of environments that were approved or rejected\n   */\n  environments: {\n    /**\n     * The time that the environment was created, in ISO 8601 format.\n     *\n     * @example \"2020-11-23T22:00:40.000Z\"\n     * @format date-time\n     */\n    created_at?: string;\n    /**\n     * @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging\n     */\n    html_url?: string;\n    /**\n     * The id of the environment.\n     *\n     * @example 56780428\n     */\n    id?: number;\n    /**\n     * The name of the environment.\n     *\n     * @example staging\n     */\n    name?: string;\n    /**\n     * @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg=\n     */\n    node_id?: string;\n    /**\n     * The time that the environment was last updated, in ISO 8601 format.\n     *\n     * @example \"2020-11-23T22:00:40.000Z\"\n     * @format date-time\n     */\n    updated_at?: string;\n    /**\n     * @example https://api.github.com/repos/github/hello-world/environments/staging\n     */\n    url?: string;\n  }[];\n  /**\n   * Whether deployment to the environment(s) was approved or rejected\n   *\n   * @example approved\n   */\n  state: 'approved' | 'rejected';\n  user: SimpleUser;\n};\n\n/**\n * Event\n */\nexport type Event = {\n  actor: Actor;\n  /**\n   * @format date-time\n   */\n  created_at: string | null;\n  id: string;\n  org?: Actor;\n  payload: {\n    action: string;\n    comment?: IssueComment;\n    issue?: IssueSimple;\n    pages?: {\n      action?: string;\n      html_url?: string;\n      page_name?: string;\n      sha?: string;\n      summary?: string | null;\n      title?: string;\n    }[];\n  };\n  public: boolean;\n  repo: {\n    id: number;\n    name: string;\n    /**\n     * @format uri\n     */\n    url: string;\n  };\n  type: string | null;\n};\n\n/**\n * Feed\n */\nexport type Feed = {\n  _links: {\n    current_user?: LinkWithType;\n    current_user_actor?: LinkWithType;\n    current_user_organization?: LinkWithType;\n    current_user_organizations?: LinkWithType[];\n    current_user_public?: LinkWithType;\n    security_advisories?: LinkWithType;\n    timeline: LinkWithType;\n    user: LinkWithType;\n  };\n  /**\n   * @example https://github.com/octocat.private.actor?token=abc123\n   */\n  current_user_actor_url?: string;\n  /**\n   * @example https://github.com/octocat-org\n   */\n  current_user_organization_url?: string;\n  /**\n   * @example https://github.com/organizations/github/octocat.private.atom?token=abc123\n   */\n  current_user_organization_urls?: string[];\n  /**\n   * @example https://github.com/octocat\n   */\n  current_user_public_url?: string;\n  /**\n   * @example https://github.com/octocat.private?token=abc123\n   */\n  current_user_url?: string;\n  /**\n   * @example https://github.com/security-advisories\n   */\n  security_advisories_url?: string;\n  /**\n   * @example https://github.com/timeline\n   */\n  timeline_url: string;\n  /**\n   * @example https://github.com/{user}\n   */\n  user_url: string;\n};\n\n/**\n * File Commit\n */\nexport type FileCommit = {\n  commit: {\n    author?: {\n      date?: string;\n      email?: string;\n      name?: string;\n    };\n    committer?: {\n      date?: string;\n      email?: string;\n      name?: string;\n    };\n    html_url?: string;\n    message?: string;\n    node_id?: string;\n    parents?: {\n      html_url?: string;\n      sha?: string;\n      url?: string;\n    }[];\n    sha?: string;\n    tree?: {\n      sha?: string;\n      url?: string;\n    };\n    url?: string;\n    verification?: {\n      payload?: string | null;\n      reason?: string;\n      signature?: string | null;\n      verified?: boolean;\n    };\n  };\n  content: {\n    _links?: {\n      git?: string;\n      html?: string;\n      self?: string;\n    };\n    download_url?: string;\n    git_url?: string;\n    html_url?: string;\n    name?: string;\n    path?: string;\n    sha?: string;\n    size?: number;\n    type?: string;\n    url?: string;\n  } | null;\n};\n\n/**\n * Full Repository\n */\nexport type FullRepository = {\n  /**\n   * @example true\n   */\n  allow_merge_commit?: boolean;\n  /**\n   * @example true\n   */\n  allow_rebase_merge?: boolean;\n  /**\n   * @example true\n   */\n  allow_squash_merge?: boolean;\n  /**\n   * Whether anonymous git access is allowed.\n   *\n   * @default true\n   */\n  anonymous_access_enabled?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\n   */\n  archive_url: string;\n  archived: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/assignees{/user}\n   */\n  assignees_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\n   */\n  blobs_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/branches{/branch}\n   */\n  branches_url: string;\n  /**\n   * @example https://github.com/octocat/Hello-World.git\n   */\n  clone_url: string;\n  code_of_conduct?: CodeOfConductSimple;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\n   */\n  collaborators_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/comments{/number}\n   */\n  comments_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/commits{/sha}\n   */\n  commits_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\n   */\n  compare_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/contents/{+path}\n   */\n  contents_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/contributors\n   * @format uri\n   */\n  contributors_url: string;\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example master\n   */\n  default_branch: string;\n  /**\n   * @example false\n   */\n  delete_branch_on_merge?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/deployments\n   * @format uri\n   */\n  deployments_url: string;\n  /**\n   * @example This your first repo!\n   */\n  description: string | null;\n  /**\n   * Returns whether or not this repository disabled.\n   */\n  disabled: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/downloads\n   * @format uri\n   */\n  downloads_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/events\n   * @format uri\n   */\n  events_url: string;\n  fork: boolean;\n  forks: number;\n  /**\n   * @example 9\n   */\n  forks_count: number;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/forks\n   * @format uri\n   */\n  forks_url: string;\n  /**\n   * @example octocat/Hello-World\n   */\n  full_name: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\n   */\n  git_commits_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\n   */\n  git_refs_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\n   */\n  git_tags_url: string;\n  /**\n   * @example git:github.com/octocat/Hello-World.git\n   */\n  git_url: string;\n  /**\n   * @example true\n   */\n  has_downloads: boolean;\n  /**\n   * @example true\n   */\n  has_issues: boolean;\n  has_pages: boolean;\n  /**\n   * @example true\n   */\n  has_projects: boolean;\n  /**\n   * @example true\n   */\n  has_wiki: boolean;\n  /**\n   * @example https://github.com\n   * @format uri\n   */\n  homepage: string | null;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/hooks\n   * @format uri\n   */\n  hooks_url: string;\n  /**\n   * @example https://github.com/octocat/Hello-World\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example 1296269\n   */\n  id: number;\n  /**\n   * @example true\n   */\n  is_template?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\n   */\n  issue_comment_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number}\n   */\n  issue_events_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/issues{/number}\n   */\n  issues_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id}\n   */\n  keys_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/labels{/name}\n   */\n  labels_url: string;\n  language: string | null;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/languages\n   * @format uri\n   */\n  languages_url: string;\n  /**\n   * License Simple\n   */\n  license: LicenseSimple;\n  master_branch?: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/merges\n   * @format uri\n   */\n  merges_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/milestones{/number}\n   */\n  milestones_url: string;\n  /**\n   * @example git:git.example.com/octocat/Hello-World\n   * @format uri\n   */\n  mirror_url: string | null;\n  /**\n   * @example Hello-World\n   */\n  name: string;\n  /**\n   * @example 0\n   */\n  network_count: number;\n  /**\n   * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5\n   */\n  node_id: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\n   */\n  notifications_url: string;\n  open_issues: number;\n  /**\n   * @example 0\n   */\n  open_issues_count: number;\n  /**\n   * Simple User\n   */\n  organization?: SimpleUser;\n  /**\n   * Simple User\n   */\n  owner: SimpleUser;\n  parent?: Repository;\n  permissions?: {\n    admin: boolean;\n    pull: boolean;\n    push: boolean;\n  };\n  private: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/pulls{/number}\n   */\n  pulls_url: string;\n  /**\n   * @example \"2011-01-26T19:06:43.000Z\"\n   * @format date-time\n   */\n  pushed_at: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/releases{/id}\n   */\n  releases_url: string;\n  /**\n   * @example 108\n   */\n  size: number;\n  source?: Repository;\n  /**\n   * @example git@github.com:octocat/Hello-World.git\n   */\n  ssh_url: string;\n  /**\n   * @example 80\n   */\n  stargazers_count: number;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/stargazers\n   * @format uri\n   */\n  stargazers_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha}\n   */\n  statuses_url: string;\n  /**\n   * @example 42\n   */\n  subscribers_count: number;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/subscribers\n   * @format uri\n   */\n  subscribers_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/subscription\n   * @format uri\n   */\n  subscription_url: string;\n  /**\n   * @example https://svn.github.com/octocat/Hello-World\n   * @format uri\n   */\n  svn_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/tags\n   * @format uri\n   */\n  tags_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/teams\n   * @format uri\n   */\n  teams_url: string;\n  temp_clone_token?: string | null;\n  /**\n   * A git repository\n   */\n  template_repository?: Repository;\n  /**\n   * @example octocat\n   * @example atom\n   * @example electron\n   * @example API\n   */\n  topics?: string[];\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\n   */\n  trees_url: string;\n  /**\n   * @example \"2011-01-26T19:14:43.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World\n   * @format uri\n   */\n  url: string;\n  /**\n   * The repository visibility: public, private, or internal.\n   *\n   * @example public\n   */\n  visibility?: string;\n  watchers: number;\n  /**\n   * @example 80\n   */\n  watchers_count: number;\n};\n\n/**\n * A comment made to a gist.\n */\nexport type GistComment = {\n  author_association: AuthorAssociation;\n  /**\n   * The comment text.\n   *\n   * @example Body of the attachment\n   * @maxLength 65535\n   */\n  body: string;\n  /**\n   * @example \"2011-04-18T23:23:56.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  /**\n   * @example MDExOkdpc3RDb21tZW50MQ==\n   */\n  node_id: string;\n  /**\n   * @example \"2011-04-18T23:23:56.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * Gist Commit\n */\nexport type GistCommit = {\n  change_status: {\n    additions?: number;\n    deletions?: number;\n    total?: number;\n  };\n  /**\n   * @example \"2010-04-14T02:15:15.000Z\"\n   * @format date-time\n   */\n  committed_at: string;\n  /**\n   * @example https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n  /**\n   * @example 57a7f021a713b1c5a6a199b54cc514735d2d462f\n   */\n  version: string;\n};\n\n/**\n * Gist Simple\n */\nexport type GistSimple = {\n  comments?: number;\n  comments_url?: string;\n  commits_url?: string;\n  created_at?: string;\n  description?: string | null;\n  files?: {\n    [key: string]: {\n      content?: string;\n      filename?: string;\n      language?: string;\n      raw_url?: string;\n      size?: number;\n      truncated?: boolean;\n      type?: string;\n    } | null;\n  };\n  forks_url?: string;\n  git_pull_url?: string;\n  git_push_url?: string;\n  html_url?: string;\n  id?: string;\n  node_id?: string;\n  owner?: SimpleUser;\n  public?: boolean;\n  truncated?: boolean;\n  updated_at?: string;\n  url?: string;\n  user?: string | null;\n};\n\n/**\n * Low-level Git commit operations within a repository\n */\nexport type GitCommit = {\n  /**\n   * Identifying information for the git-user\n   */\n  author: {\n    /**\n     * Timestamp of the commit\n     *\n     * @example \"2014-08-08T20:02:04.000Z\"\n     * @format date-time\n     */\n    date: string;\n    /**\n     * Git email address of the user\n     *\n     * @example monalisa.octocat@example.com\n     */\n    email: string;\n    /**\n     * Name of the git user\n     *\n     * @example Monalisa Octocat\n     */\n    name: string;\n  };\n  /**\n   * Identifying information for the git-user\n   */\n  committer: {\n    /**\n     * Timestamp of the commit\n     *\n     * @example \"2014-08-08T20:02:04.000Z\"\n     * @format date-time\n     */\n    date: string;\n    /**\n     * Git email address of the user\n     *\n     * @example monalisa.octocat@example.com\n     */\n    email: string;\n    /**\n     * Name of the git user\n     *\n     * @example Monalisa Octocat\n     */\n    name: string;\n  };\n  /**\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * Message describing the purpose of the commit\n   *\n   * @example Fix #42\n   */\n  message: string;\n  node_id: string;\n  parents: {\n    /**\n     * @format uri\n     */\n    html_url: string;\n    /**\n     * SHA for the commit\n     *\n     * @example 7638417db6d59f3c431d3e1f261cc637155684cd\n     */\n    sha: string;\n    /**\n     * @format uri\n     */\n    url: string;\n  }[];\n  /**\n   * SHA for the commit\n   *\n   * @example 7638417db6d59f3c431d3e1f261cc637155684cd\n   */\n  sha: string;\n  tree: {\n    /**\n     * SHA for the commit\n     *\n     * @example 7638417db6d59f3c431d3e1f261cc637155684cd\n     */\n    sha: string;\n    /**\n     * @format uri\n     */\n    url: string;\n  };\n  /**\n   * @format uri\n   */\n  url: string;\n  verification: {\n    payload: string | null;\n    reason: string;\n    signature: string | null;\n    verified: boolean;\n  };\n};\n\n/**\n * Git references within a repository\n */\nexport type GitRef = {\n  node_id: string;\n  object: {\n    /**\n     * SHA for the reference\n     *\n     * @example 7638417db6d59f3c431d3e1f261cc637155684cd\n     * @maxLength 40\n     * @minLength 40\n     */\n    sha: string;\n    type: string;\n    /**\n     * @format uri\n     */\n    url: string;\n  };\n  ref: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Metadata for a Git tag\n */\nexport type GitTag = {\n  /**\n   * Message describing the purpose of the tag\n   *\n   * @example Initial public release\n   */\n  message: string;\n  /**\n   * @example MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw==\n   */\n  node_id: string;\n  object: {\n    sha: string;\n    type: string;\n    /**\n     * @format uri\n     */\n    url: string;\n  };\n  /**\n   * @example 940bd336248efae0f9ee5bc7b2d5c985887b16ac\n   */\n  sha: string;\n  /**\n   * Name of the tag\n   *\n   * @example v0.0.1\n   */\n  tag: string;\n  tagger: {\n    date: string;\n    email: string;\n    name: string;\n  };\n  /**\n   * URL for the tag\n   *\n   * @example https://api.github.com/repositories/42/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac\n   * @format uri\n   */\n  url: string;\n  verification?: Verification;\n};\n\n/**\n * The hierarchy between files in a Git repository.\n */\nexport type GitTree = {\n  sha: string;\n  /**\n   * Objects specifying a tree structure\n   *\n   * @example {\"mode\":\"100644\",\"path\":\"file.rb\",\"properties\":{\"mode\":{\"type\":\"string\"},\"path\":{\"type\":\"string\"},\"sha\":{\"type\":\"string\"},\"size\":{\"type\":\"integer\"},\"type\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"}},\"required\":[\"path\",\"mode\",\"type\",\"sha\",\"url\",\"size\"],\"sha\":\"44b4fc6d56897b048c772eb4087f854f46256132\",\"size\":30,\"type\":\"blob\",\"url\":\"https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132\"}\n   */\n  tree: {\n    /**\n     * @example 040000\n     */\n    mode?: string;\n    /**\n     * @example test/file.rb\n     */\n    path?: string;\n    /**\n     * @example 23f6827669e43831def8a7ad935069c8bd418261\n     */\n    sha?: string;\n    /**\n     * @example 12\n     */\n    size?: number;\n    /**\n     * @example tree\n     */\n    type?: string;\n    /**\n     * @example https://api.github.com/repos/owner-482f3203ecf01f67e9deb18e/BBB_Private_Repo/git/blobs/23f6827669e43831def8a7ad935069c8bd418261\n     */\n    url?: string;\n  }[];\n  truncated: boolean;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Metaproperties for Git author/committer information.\n */\nexport type GitUser = {\n  /**\n   * @example \"2007-10-29T02:42:39.000-07:00\"\n   */\n  date?: string;\n  /**\n   * @example \"chris@ozmm.org\"\n   */\n  email?: string;\n  /**\n   * @example \"Chris Wanstrath\"\n   */\n  name?: string;\n};\n\n/**\n * Gitignore Template\n */\nexport type GitignoreTemplate = {\n  /**\n   * @example C\n   */\n  name: string;\n  /**\n     * @example # Object files\n    *.o\n    \n    # Libraries\n    *.lib\n    *.a\n    \n    # Shared objects (inc. Windows DLLs)\n    *.dll\n    *.so\n    *.so.*\n    *.dylib\n    \n    # Executables\n    *.exe\n    *.out\n    *.app\n     */\n  source: string;\n};\n\n/**\n * A unique encryption key\n */\nexport type GpgKey = {\n  /**\n   * @example true\n   */\n  can_certify: boolean;\n  can_encrypt_comms: boolean;\n  can_encrypt_storage: boolean;\n  /**\n   * @example true\n   */\n  can_sign: boolean;\n  /**\n   * @example \"2016-03-24T17:31:04.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example {\"email\":\"mastahyeti@users.noreply.github.com\",\"verified\":true}\n   */\n  emails: {\n    email?: string;\n    verified?: boolean;\n  }[];\n  /**\n   * @format date-time\n   */\n  expires_at: string | null;\n  /**\n   * @example 3\n   */\n  id: number;\n  /**\n   * @example 3262EFF25BA0D270\n   */\n  key_id: string;\n  primary_key_id: number | null;\n  /**\n   * @example xsBNBFayYZ...\n   */\n  public_key: string;\n  raw_key: string | null;\n  /**\n   * @example {\"can_certify\":false,\"can_encrypt_comms\":true,\"can_encrypt_storage\":true,\"can_sign\":false,\"created_at\":\"2016-03-24T17:31:04.000Z\",\"emails\":[],\"expires_at\":null,\"id\":4,\"key_id\":\"4A595D4C72EE49C7\",\"primary_key_id\":3,\"public_key\":\"zsBNBFayYZ...\",\"subkeys\":[]}\n   */\n  subkeys: {\n    can_certify?: boolean;\n    can_encrypt_comms?: boolean;\n    can_encrypt_storage?: boolean;\n    can_sign?: boolean;\n    created_at?: string;\n    emails?: any[];\n    expires_at?: string | null;\n    id?: number;\n    key_id?: string;\n    primary_key_id?: number;\n    public_key?: string;\n    raw_key?: string | null;\n    subkeys?: any[];\n  }[];\n};\n\n/**\n * External Groups to be mapped to a team for membership\n */\nexport type GroupMapping = {\n  /**\n   * Array of groups to be mapped to this team\n   *\n   * @example {\"group_description\":\"A group of Developers working on AzureAD SAML SSO\",\"group_id\":\"111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa\",\"group_name\":\"saml-azuread-test\"}\n   * @example {\"group_description\":\"Another group of Developers working on AzureAD SAML SSO\",\"group_id\":\"2bb2bb2b-bb22-22bb-2bb2-bb2bbb2bb2b2\",\"group_name\":\"saml-azuread-test2\"}\n   */\n  groups?: {\n    /**\n     * a description of the group\n     *\n     * @example A group of Developers working on AzureAD SAML SSO\n     */\n    group_description: string;\n    /**\n     * The ID of the group\n     *\n     * @example 111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa\n     */\n    group_id: string;\n    /**\n     * The name of the group\n     *\n     * @example saml-azuread-test\n     */\n    group_name: string;\n    /**\n     * synchronization status for this group mapping\n     *\n     * @example unsynced\n     */\n    status?: string;\n    /**\n     * the time of the last sync for this group-mapping\n     *\n     * @example 2019-06-03 22:27:15:000 -700\n     */\n    synced_at?: string;\n  }[];\n};\n\n/**\n * Webhooks for repositories.\n */\nexport type Hook = {\n  /**\n   * Determines whether the hook is actually triggered on pushes.\n   *\n   * @example true\n   */\n  active: boolean;\n  config: {\n    content_type?: WebhookConfigContentType;\n    /**\n     * @example \"sha256\"\n     */\n    digest?: string;\n    /**\n     * @example \"foo@bar.com\"\n     */\n    email?: string;\n    insecure_ssl?: WebhookConfigInsecureSsl;\n    /**\n     * @example \"foo\"\n     */\n    password?: string;\n    /**\n     * @example \"roomer\"\n     */\n    room?: string;\n    secret?: WebhookConfigSecret;\n    /**\n     * @example \"foo\"\n     */\n    subdomain?: string;\n    /**\n     * @example \"abc\"\n     */\n    token?: string;\n    url?: WebhookConfigUrl;\n  };\n  /**\n   * @example \"2011-09-06T17:26:27.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * Determines what events the hook is triggered for. Default: ['push'].\n   *\n   * @example push\n   * @example pull_request\n   */\n  events: string[];\n  /**\n   * Unique identifier of the webhook.\n   *\n   * @example 42\n   */\n  id: number;\n  last_response: HookResponse;\n  /**\n   * The name of a valid service, use 'web' for a webhook.\n   *\n   * @example web\n   */\n  name: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/pings\n   * @format uri\n   */\n  ping_url: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/test\n   * @format uri\n   */\n  test_url: string;\n  type: string;\n  /**\n   * @example \"2011-09-06T20:39:23.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/hooks/1\n   * @format uri\n   */\n  url: string;\n};\n\nexport type HookResponse = {\n  code: number | null;\n  message: string | null;\n  status: string | null;\n};\n\n/**\n * Hovercard\n */\nexport type Hovercard = {\n  contexts: {\n    message: string;\n    octicon: string;\n  }[];\n};\n\n/**\n * A repository import from an external source.\n */\nexport type Import = {\n  authors_count?: number | null;\n  /**\n   * @format uri\n   */\n  authors_url: string;\n  commit_count?: number | null;\n  error_message?: string | null;\n  failed_step?: string | null;\n  has_large_files?: boolean;\n  /**\n   * @format uri\n   */\n  html_url: string;\n  import_percent?: number | null;\n  large_files_count?: number;\n  large_files_size?: number;\n  message?: string;\n  project_choices?: {\n    human_name?: string;\n    tfvc_project?: string;\n    vcs?: string;\n  }[];\n  push_percent?: number | null;\n  /**\n   * @format uri\n   */\n  repository_url: string;\n  status:\n    | 'auth'\n    | 'error'\n    | 'none'\n    | 'detecting'\n    | 'choose'\n    | 'auth_failed'\n    | 'importing'\n    | 'mapping'\n    | 'waiting_to_push'\n    | 'pushing'\n    | 'complete'\n    | 'setup'\n    | 'unknown'\n    | 'detection_found_multiple'\n    | 'detection_found_nothing'\n    | 'detection_needs_auth';\n  status_text?: string | null;\n  svc_root?: string;\n  svn_root?: string;\n  tfvc_project?: string;\n  /**\n   * @format uri\n   */\n  url: string;\n  use_lfs?: string;\n  vcs: string | null;\n  /**\n   * The URL of the originating repository.\n   */\n  vcs_url: string;\n};\n\n/**\n * Installation\n */\nexport type Installation = {\n  /**\n   * @example https://api.github.com/installations/1/access_tokens\n   * @format uri\n   */\n  access_tokens_url: string;\n  account: SimpleUser | Enterprise | null;\n  /**\n   * @example 1\n   */\n  app_id: number;\n  /**\n   * @example github-actions\n   */\n  app_slug: string;\n  /**\n   * @example \"test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com\"\n   */\n  contact_email?: string | null;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  events: string[];\n  /**\n   * @example true\n   */\n  has_multiple_single_files?: boolean;\n  /**\n   * @example https://github.com/organizations/github/settings/installations/1\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * The ID of the installation.\n   *\n   * @example 1\n   */\n  id: number;\n  /**\n   * @example {\"deployments\":\"write\",\"issues\":\"read\"}\n   */\n  permissions: {\n    checks?: string;\n    contents?: string;\n    deployments?: string;\n    /**\n     * @example \"read\"\n     */\n    issues?: string;\n    metadata?: string;\n    /**\n     * @example \"read\"\n     */\n    organization_administration?: string;\n    pull_requests?: string;\n    statuses?: string;\n  };\n  /**\n   * @example https://api.github.com/installation/repositories\n   * @format uri\n   */\n  repositories_url: string;\n  /**\n   * Describe whether all repositories have been selected or there's a selection involved\n   */\n  repository_selection: 'all' | 'selected';\n  /**\n   * @example config.yaml\n   */\n  single_file_name: string | null;\n  /**\n   * @example config.yml\n   * @example .github/issue_TEMPLATE.md\n   */\n  single_file_paths?: string[];\n  /**\n   * @format date-time\n   */\n  suspended_at?: string | null;\n  /**\n   * Simple User\n   */\n  suspended_by?: SimpleUser;\n  /**\n   * The ID of the user or organization this token is being scoped to.\n   */\n  target_id: number;\n  /**\n   * @example Organization\n   */\n  target_type: string;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n};\n\n/**\n * Authentication token for a GitHub App installed on a user or org.\n */\nexport type InstallationToken = {\n  expires_at: string;\n  /**\n   * @example true\n   */\n  has_multiple_single_files?: boolean;\n  permissions?: {\n    contents?: string;\n    issues?: string;\n    /**\n     * @example read\n     */\n    metadata?: string;\n    /**\n     * @example read\n     */\n    single_file?: string;\n  };\n  repositories?: Repository[];\n  repository_selection?: 'all' | 'selected';\n  /**\n   * @example README.md\n   */\n  single_file?: string;\n  /**\n   * @example config.yml\n   * @example .github/issue_TEMPLATE.md\n   */\n  single_file_paths?: string[];\n  token: string;\n};\n\n/**\n * GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.\n */\nexport type Integration = {\n  /**\n   * @example \"Iv1.25b5d1e65ffc4022\"\n   */\n  client_id?: string;\n  /**\n   * @example \"1d4b2097ac622ba702d19de498f005747a8b21d3\"\n   */\n  client_secret?: string;\n  /**\n   * @example \"2017-07-08T20:18:44.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example The description of the app.\n   */\n  description: string | null;\n  /**\n   * The list of events for the GitHub app\n   *\n   * @example label\n   * @example deployment\n   */\n  events: string[];\n  /**\n   * @example https://example.com\n   * @format uri\n   */\n  external_url: string;\n  /**\n   * @example https://github.com/apps/super-ci\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * Unique identifier of the GitHub app\n   *\n   * @example 37\n   */\n  id: number;\n  /**\n   * The number of installations associated with the GitHub app\n   *\n   * @example 5\n   */\n  installations_count?: number;\n  /**\n   * The name of the GitHub app\n   *\n   * @example Probot Owners\n   */\n  name: string;\n  /**\n   * @example MDExOkludGVncmF0aW9uMQ==\n   */\n  node_id: string;\n  /**\n   * Simple User\n   */\n  owner: SimpleUser;\n  /**\n   * @example \"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"\n   */\n  pem?: string;\n  /**\n   * The set of permissions for the GitHub app\n   *\n   * @example {\"deployments\":\"write\",\"issues\":\"read\"}\n   */\n  permissions: {\n    checks?: string;\n    contents?: string;\n    deployments?: string;\n    issues?: string;\n    metadata?: string;\n  } & {\n    [key: string]: string;\n  };\n  /**\n   * The slug name of the GitHub app\n   *\n   * @example probot-owners\n   */\n  slug?: string;\n  /**\n   * @example \"2017-07-08T20:18:44.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example \"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"\n   */\n  webhook_secret?: string;\n} & {\n  [key: string]: any;\n};\n\n/**\n * The duration of the interaction restriction. Can be one of: `one_day`, `three_days`, `one_week`, `one_month`, `six_months`. Default: `one_day`.\n *\n * @example one_month\n */\nexport type InteractionExpiry =\n  | 'one_day'\n  | 'three_days'\n  | 'one_week'\n  | 'one_month'\n  | 'six_months';\n\n/**\n * The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. Can be one of: `existing_users`, `contributors_only`, `collaborators_only`.\n *\n * @example collaborators_only\n */\nexport type InteractionGroup =\n  | 'existing_users'\n  | 'contributors_only'\n  | 'collaborators_only';\n\n/**\n * Limit interactions to a specific type of user for a specified duration\n */\nexport type InteractionLimit = {\n  expiry?: InteractionExpiry;\n  limit: InteractionGroup;\n};\n\n/**\n * Interaction limit settings.\n */\nexport type InteractionLimitResponse = {\n  /**\n   * @example \"2018-08-17T04:18:39.000Z\"\n   * @format date-time\n   */\n  expires_at: string;\n  limit: InteractionGroup;\n  /**\n   * @example repository\n   */\n  origin: string;\n};\n\n/**\n * Issues are a great way to keep track of tasks, enhancements, and bugs for your projects.\n */\nexport type Issue = {\n  active_lock_reason?: string | null;\n  /**\n   * Simple User\n   */\n  assignee: SimpleUser;\n  assignees?: SimpleUser[] | null;\n  author_association: AuthorAssociation;\n  /**\n   * Contents of the issue\n   *\n   * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug?\n   */\n  body?: string;\n  body_html?: string;\n  body_text?: string;\n  /**\n   * @format date-time\n   */\n  closed_at: string | null;\n  /**\n   * Simple User\n   */\n  closed_by?: SimpleUser;\n  comments: number;\n  /**\n   * @format uri\n   */\n  comments_url: string;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @format uri\n   */\n  events_url: string;\n  /**\n   * @format uri\n   */\n  html_url: string;\n  id: number;\n  /**\n   * Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository\n   *\n   * @example bug\n   * @example registration\n   */\n  labels: (\n    | string\n    | {\n        color?: string | null;\n        ['default']?: boolean;\n        description?: string | null;\n        id?: number;\n        name?: string;\n        node_id?: string;\n        /**\n         * @format uri\n         */\n        url?: string;\n      }\n  )[];\n  labels_url: string;\n  locked: boolean;\n  /**\n   * A collection of related issues and pull requests.\n   */\n  milestone: Milestone;\n  node_id: string;\n  /**\n   * Number uniquely identifying the issue within its repository\n   *\n   * @example 42\n   */\n  number: number;\n  /**\n   * GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.\n   */\n  performed_via_github_app?: Integration;\n  pull_request?: {\n    /**\n     * @format uri\n     */\n    diff_url: string | null;\n    /**\n     * @format uri\n     */\n    html_url: string | null;\n    /**\n     * @format date-time\n     */\n    merged_at?: string | null;\n    /**\n     * @format uri\n     */\n    patch_url: string | null;\n    /**\n     * @format uri\n     */\n    url: string | null;\n  };\n  reactions?: ReactionRollup;\n  repository?: Repository;\n  /**\n   * @format uri\n   */\n  repository_url: string;\n  /**\n   * State of the issue; either 'open' or 'closed'\n   *\n   * @example open\n   */\n  state: string;\n  /**\n   * @format uri\n   */\n  timeline_url?: string;\n  /**\n   * Title of the issue\n   *\n   * @example Widget creation fails in Safari on OS X 10.8\n   */\n  title: string;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * URL for the issue\n   *\n   * @example https://api.github.com/repositories/42/issues/1\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * Comments provide a way for people to collaborate on an issue.\n */\nexport type IssueComment = {\n  author_association: AuthorAssociation;\n  /**\n   * Contents of the issue comment\n   *\n   * @example What version of Safari were you using when you observed this bug?\n   */\n  body?: string;\n  body_html?: string;\n  body_text?: string;\n  /**\n   * @example \"2011-04-14T16:00:49.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * Unique identifier of the issue comment\n   *\n   * @example 42\n   */\n  id: number;\n  /**\n   * @format uri\n   */\n  issue_url: string;\n  node_id: string;\n  /**\n   * GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.\n   */\n  performed_via_github_app?: Integration;\n  reactions?: ReactionRollup;\n  /**\n   * @example \"2011-04-14T16:00:49.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * URL for the issue comment\n   *\n   * @example https://api.github.com/repositories/42/issues/comments/1\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * Issue Event\n */\nexport type IssueEvent = {\n  /**\n   * Simple User\n   */\n  actor: SimpleUser;\n  /**\n   * Simple User\n   */\n  assignee?: SimpleUser;\n  /**\n   * Simple User\n   */\n  assigner?: SimpleUser;\n  author_association?: AuthorAssociation;\n  /**\n   * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e\n   */\n  commit_id: string | null;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e\n   */\n  commit_url: string | null;\n  /**\n   * @example \"2011-04-14T16:00:49.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  dismissed_review?: IssueEventDismissedReview;\n  /**\n   * @example closed\n   */\n  event: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  issue?: IssueSimple;\n  label?: IssueEventLabel;\n  lock_reason?: string | null;\n  milestone?: IssueEventMilestone;\n  /**\n   * @example MDEwOklzc3VlRXZlbnQx\n   */\n  node_id: string;\n  project_card?: IssueEventProjectCard;\n  rename?: IssueEventRename;\n  /**\n   * Simple User\n   */\n  requested_reviewer?: SimpleUser;\n  requested_team?: Team;\n  /**\n   * Simple User\n   */\n  review_requester?: SimpleUser;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/issues/events/1\n   * @format uri\n   */\n  url: string;\n};\n\nexport type IssueEventDismissedReview = {\n  dismissal_commit_id?: string | null;\n  dismissal_message: string | null;\n  review_id: number;\n  state: string;\n};\n\n/**\n * Issue Event for Issue\n */\nexport type IssueEventForIssue = {\n  actor?: SimpleUser;\n  author_association?: AuthorAssociation;\n  /**\n   * @example \":+1:\"\n   */\n  body?: string;\n  /**\n   * @example \"<p>Accusantium fugiat cumque. Autem qui nostrum. Atque quae ullam.</p>\"\n   */\n  body_html?: string;\n  /**\n   * @example \"Accusantium fugiat cumque. Autem qui nostrum. Atque quae ullam.\"\n   */\n  body_text?: string;\n  commit_id?: string | null;\n  commit_url?: string | null;\n  created_at?: string;\n  event?: string;\n  /**\n   * @example \"https://github.com/owner-3906e11a33a3d55ba449d63f/BBB_Private_Repo/commit/480d4f47447129f015cb327536c522ca683939a1\"\n   */\n  html_url?: string;\n  id?: number;\n  /**\n   * @example \"https://api.github.com/repos/owner-3906e11a33a3d55ba449d63f/AAA_Public_Repo/issues/1\"\n   */\n  issue_url?: string;\n  /**\n   * @example \"off-topic\"\n   */\n  lock_reason?: string;\n  /**\n   * @example \"add a bunch of files\"\n   */\n  message?: string;\n  node_id?: string;\n  /**\n   * @example \"https://api.github.com/repos/owner-3906e11a33a3d55ba449d63f/AAA_Public_Repo/pulls/2\"\n   */\n  pull_request_url?: string;\n  /**\n   * @example \"480d4f47447129f015cb327536c522ca683939a1\"\n   */\n  sha?: string;\n  /**\n   * @example \"commented\"\n   */\n  state?: string;\n  /**\n   * @example \"2020-07-09T00:17:51Z\"\n   */\n  submitted_at?: string;\n  /**\n   * @example \"2020-07-09T00:17:36Z\"\n   */\n  updated_at?: string;\n  url?: string;\n};\n\n/**\n * Issue Event Label\n */\nexport type IssueEventLabel = {\n  color: string | null;\n  name: string | null;\n};\n\n/**\n * Issue Event Milestone\n */\nexport type IssueEventMilestone = {\n  title: string;\n};\n\n/**\n * Issue Event Project Card\n */\nexport type IssueEventProjectCard = {\n  column_name: string;\n  id: number;\n  previous_column_name?: string;\n  project_id: number;\n  /**\n   * @format uri\n   */\n  project_url: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Issue Event Rename\n */\nexport type IssueEventRename = {\n  from: string;\n  to: string;\n};\n\n/**\n * Issue Search Result Item\n */\nexport type IssueSearchResultItem = {\n  active_lock_reason?: string | null;\n  /**\n   * Simple User\n   */\n  assignee: SimpleUser;\n  assignees?: SimpleUser[] | null;\n  author_association: AuthorAssociation;\n  body?: string;\n  body_html?: string;\n  body_text?: string;\n  /**\n   * @format date-time\n   */\n  closed_at: string | null;\n  comments: number;\n  /**\n   * @format uri\n   */\n  comments_url: string;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  draft?: boolean;\n  /**\n   * @format uri\n   */\n  events_url: string;\n  /**\n   * @format uri\n   */\n  html_url: string;\n  id: number;\n  labels: {\n    color?: string;\n    ['default']?: boolean;\n    description?: string | null;\n    id?: number;\n    name?: string;\n    node_id?: string;\n    url?: string;\n  }[];\n  labels_url: string;\n  locked: boolean;\n  /**\n   * A collection of related issues and pull requests.\n   */\n  milestone: Milestone;\n  node_id: string;\n  number: number;\n  /**\n   * GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.\n   */\n  performed_via_github_app?: Integration;\n  pull_request?: {\n    /**\n     * @format uri\n     */\n    diff_url: string | null;\n    /**\n     * @format uri\n     */\n    html_url: string | null;\n    /**\n     * @format date-time\n     */\n    merged_at?: string | null;\n    /**\n     * @format uri\n     */\n    patch_url: string | null;\n    /**\n     * @format uri\n     */\n    url: string | null;\n  };\n  repository?: Repository;\n  /**\n   * @format uri\n   */\n  repository_url: string;\n  score: number;\n  state: string;\n  text_matches?: SearchResultTextMatches;\n  /**\n   * @format uri\n   */\n  timeline_url?: string;\n  title: string;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * Issue Simple\n */\nexport type IssueSimple = {\n  /**\n   * @example too heated\n   */\n  active_lock_reason?: string | null;\n  /**\n   * Simple User\n   */\n  assignee: SimpleUser;\n  assignees?: SimpleUser[] | null;\n  author_association: AuthorAssociation;\n  /**\n   * @example I'm having a problem with this.\n   */\n  body?: string;\n  body_html?: string;\n  body_text?: string;\n  /**\n   * @format date-time\n   */\n  closed_at: string | null;\n  /**\n   * @example 0\n   */\n  comments: number;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments\n   * @format uri\n   */\n  comments_url: string;\n  /**\n   * @example \"2011-04-22T13:33:48.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/events\n   * @format uri\n   */\n  events_url: string;\n  /**\n   * @example https://github.com/octocat/Hello-World/issues/1347\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  labels: Label[];\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/labels{/name}\n   */\n  labels_url: string;\n  /**\n   * @example true\n   */\n  locked: boolean;\n  /**\n   * A collection of related issues and pull requests.\n   */\n  milestone: Milestone;\n  /**\n   * @example MDU6SXNzdWUx\n   */\n  node_id: string;\n  /**\n   * @example 1347\n   */\n  number: number;\n  /**\n   * GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.\n   */\n  performed_via_github_app?: Integration;\n  pull_request?: {\n    /**\n     * @format uri\n     */\n    diff_url: string | null;\n    /**\n     * @format uri\n     */\n    html_url: string | null;\n    /**\n     * @format date-time\n     */\n    merged_at?: string | null;\n    /**\n     * @format uri\n     */\n    patch_url: string | null;\n    /**\n     * @format uri\n     */\n    url: string | null;\n  };\n  repository?: Repository;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World\n   * @format uri\n   */\n  repository_url: string;\n  /**\n   * @example open\n   */\n  state: string;\n  /**\n   * @format uri\n   */\n  timeline_url?: string;\n  /**\n   * @example Found a bug\n   */\n  title: string;\n  /**\n   * @example \"2011-04-22T13:33:48.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/issues/1347\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * Information of a job execution in a workflow run\n */\nexport type Job = {\n  /**\n   * @example https://api.github.com/repos/github/hello-world/check-runs/4\n   */\n  check_run_url: string;\n  /**\n   * The time that the job finished, in ISO 8601 format.\n   *\n   * @example \"2019-08-08T15:00:00.000Z\"\n   * @format date-time\n   */\n  completed_at: string | null;\n  /**\n   * The outcome of the job.\n   *\n   * @example success\n   */\n  conclusion: string | null;\n  /**\n   * The SHA of the commit that is being run.\n   *\n   * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d\n   */\n  head_sha: string;\n  /**\n   * @example https://github.com/github/hello-world/runs/4\n   */\n  html_url: string | null;\n  /**\n   * The id of the job.\n   *\n   * @example 21\n   */\n  id: number;\n  /**\n   * The name of the job.\n   *\n   * @example test-coverage\n   */\n  name: string;\n  /**\n   * @example MDg6Q2hlY2tSdW40\n   */\n  node_id: string;\n  /**\n   * The id of the associated workflow run.\n   *\n   * @example 5\n   */\n  run_id: number;\n  /**\n   * @example https://api.github.com/repos/github/hello-world/actions/runs/5\n   */\n  run_url: string;\n  /**\n   * The time that the job started, in ISO 8601 format.\n   *\n   * @example \"2019-08-08T15:00:00.000Z\"\n   * @format date-time\n   */\n  started_at: string;\n  /**\n   * The phase of the lifecycle that the job is currently in.\n   *\n   * @example queued\n   */\n  status: 'queued' | 'in_progress' | 'completed';\n  /**\n   * Steps in this job.\n   */\n  steps?: {\n    /**\n     * The time that the job finished, in ISO 8601 format.\n     *\n     * @example \"2019-08-08T15:00:00.000Z\"\n     * @format date-time\n     */\n    completed_at?: string | null;\n    /**\n     * The outcome of the job.\n     *\n     * @example success\n     */\n    conclusion: string | null;\n    /**\n     * The name of the job.\n     *\n     * @example test-coverage\n     */\n    name: string;\n    /**\n     * @example 1\n     */\n    number: number;\n    /**\n     * The time that the step started, in ISO 8601 format.\n     *\n     * @example \"2019-08-08T15:00:00.000Z\"\n     * @format date-time\n     */\n    started_at?: string | null;\n    /**\n     * The phase of the lifecycle that the job is currently in.\n     *\n     * @example queued\n     */\n    status: 'queued' | 'in_progress' | 'completed';\n  }[];\n  /**\n   * @example https://api.github.com/repos/github/hello-world/actions/jobs/21\n   */\n  url: string;\n};\n\n/**\n * Key\n */\nexport type Key = {\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  id: number;\n  key: string;\n  key_id: string;\n  read_only: boolean;\n  title: string;\n  url: string;\n  verified: boolean;\n};\n\n/**\n * Key Simple\n */\nexport type KeySimple = {\n  id: number;\n  key: string;\n};\n\n/**\n * Color-coded labels help you categorize and filter your issues (just like labels in Gmail).\n */\nexport type Label = {\n  /**\n   * 6-character hex code, without the leading #, identifying the color\n   *\n   * @example FFFFFF\n   */\n  color: string;\n  /**\n   * @example true\n   */\n  ['default']: boolean;\n  /**\n   * @example Something isn't working\n   */\n  description: string | null;\n  /**\n   * @example 208045946\n   */\n  id: number;\n  /**\n   * The name of the label.\n   *\n   * @example bug\n   */\n  name: string;\n  /**\n   * @example MDU6TGFiZWwyMDgwNDU5NDY=\n   */\n  node_id: string;\n  /**\n   * URL for the label\n   *\n   * @example https://api.github.com/repositories/42/labels/bug\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Label Search Result Item\n */\nexport type LabelSearchResultItem = {\n  color: string;\n  ['default']: boolean;\n  description: string | null;\n  id: number;\n  name: string;\n  node_id: string;\n  score: number;\n  text_matches?: SearchResultTextMatches;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Language\n */\nexport type Language = {\n  [key: string]: number;\n};\n\n/**\n * License\n */\nexport type License = {\n  /**\n     * @example\n    \n    The MIT License (MIT)\n    \n    Copyright (c) [year] [fullname]\n    \n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to deal\n    in the Software without restriction, including without limitation the rights\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n    copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n    \n    The above copyright notice and this permission notice shall be included in all\n    copies or substantial portions of the Software.\n    \n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n    SOFTWARE.\n     */\n  body: string;\n  /**\n   * @example include-copyright\n   */\n  conditions: string[];\n  /**\n   * @example A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty.\n   */\n  description: string;\n  /**\n   * @example true\n   */\n  featured: boolean;\n  /**\n   * @example http://choosealicense.com/licenses/mit/\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders.\n   */\n  implementation: string;\n  /**\n   * @example mit\n   */\n  key: string;\n  /**\n   * @example no-liability\n   */\n  limitations: string[];\n  /**\n   * @example MIT License\n   */\n  name: string;\n  /**\n   * @example MDc6TGljZW5zZW1pdA==\n   */\n  node_id: string;\n  /**\n   * @example commercial-use\n   * @example modifications\n   * @example distribution\n   * @example sublicense\n   * @example private-use\n   */\n  permissions: string[];\n  /**\n   * @example MIT\n   */\n  spdx_id: string | null;\n  /**\n   * @example https://api.github.com/licenses/mit\n   * @format uri\n   */\n  url: string | null;\n};\n\n/**\n * License Content\n */\nexport type LicenseContent = {\n  _links: {\n    /**\n     * @format uri\n     */\n    git: string | null;\n    /**\n     * @format uri\n     */\n    html: string | null;\n    /**\n     * @format uri\n     */\n    self: string;\n  };\n  content: string;\n  /**\n   * @format uri\n   */\n  download_url: string | null;\n  encoding: string;\n  /**\n   * @format uri\n   */\n  git_url: string | null;\n  /**\n   * @format uri\n   */\n  html_url: string | null;\n  /**\n   * License Simple\n   */\n  license: LicenseSimple;\n  name: string;\n  path: string;\n  sha: string;\n  size: number;\n  type: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * License Simple\n */\nexport type LicenseSimple = {\n  /**\n   * @format uri\n   */\n  html_url?: string;\n  /**\n   * @example mit\n   */\n  key: string;\n  /**\n   * @example MIT License\n   */\n  name: string;\n  /**\n   * @example MDc6TGljZW5zZW1pdA==\n   */\n  node_id: string;\n  /**\n   * @example MIT\n   */\n  spdx_id: string | null;\n  /**\n   * @example https://api.github.com/licenses/mit\n   * @format uri\n   */\n  url: string | null;\n};\n\n/**\n * Hypermedia Link\n */\nexport type Link = {\n  href: string;\n};\n\n/**\n * Hypermedia Link with Type\n */\nexport type LinkWithType = {\n  href: string;\n  type: string;\n};\n\nexport type MarketplaceAccount = {\n  /**\n   * @format email\n   */\n  email?: string | null;\n  id: number;\n  login: string;\n  node_id?: string;\n  /**\n   * @format email\n   */\n  organization_billing_email?: string | null;\n  type: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Marketplace Listing Plan\n */\nexport type MarketplaceListingPlan = {\n  /**\n   * @example https://api.github.com/marketplace_listing/plans/1313/accounts\n   * @format uri\n   */\n  accounts_url: string;\n  /**\n   * @example Up to 25 private repositories\n   * @example 11 concurrent builds\n   */\n  bullets: string[];\n  /**\n   * @example A professional-grade CI solution\n   */\n  description: string;\n  /**\n   * @example true\n   */\n  has_free_trial: boolean;\n  /**\n   * @example 1313\n   */\n  id: number;\n  /**\n   * @example 1099\n   */\n  monthly_price_in_cents: number;\n  /**\n   * @example Pro\n   */\n  name: string;\n  /**\n   * @example 3\n   */\n  number: number;\n  /**\n   * @example flat-rate\n   */\n  price_model: string;\n  /**\n   * @example published\n   */\n  state: string;\n  unit_name: string | null;\n  /**\n   * @example https://api.github.com/marketplace_listing/plans/1313\n   * @format uri\n   */\n  url: string;\n  /**\n   * @example 11870\n   */\n  yearly_price_in_cents: number;\n};\n\n/**\n * Marketplace Purchase\n */\nexport type MarketplacePurchase = {\n  id: number;\n  login: string;\n  marketplace_pending_change?: {\n    effective_date?: string;\n    id?: number;\n    is_installed?: boolean;\n    plan?: MarketplaceListingPlan;\n    unit_count?: number | null;\n  } | null;\n  marketplace_purchase: {\n    billing_cycle?: string;\n    free_trial_ends_on?: string | null;\n    is_installed?: boolean;\n    next_billing_date?: string | null;\n    on_free_trial?: boolean;\n    plan?: MarketplaceListingPlan;\n    unit_count?: number | null;\n    updated_at?: string;\n  };\n  organization_billing_email?: string;\n  type: string;\n  url: string;\n};\n\n/**\n * A migration.\n */\nexport type Migration = {\n  /**\n   * @format uri\n   */\n  archive_url?: string;\n  /**\n   * @example \"2015-07-06T22:33:38.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  exclude?: any[];\n  exclude_attachments: boolean;\n  /**\n   * @example 0b989ba4-242f-11e5-81e1-c7b6966d2516\n   */\n  guid: string;\n  /**\n   * @example 79\n   */\n  id: number;\n  /**\n   * @example true\n   */\n  lock_repositories: boolean;\n  node_id: string;\n  /**\n   * Simple User\n   */\n  owner: SimpleUser;\n  repositories: Repository[];\n  /**\n   * @example pending\n   */\n  state: string;\n  /**\n   * @example \"2015-07-06T22:33:38.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/orgs/octo-org/migrations/79\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * A collection of related issues and pull requests.\n */\nexport type Milestone = {\n  /**\n   * @example \"2013-02-12T13:22:01.000Z\"\n   * @format date-time\n   */\n  closed_at: string | null;\n  /**\n   * @example 8\n   */\n  closed_issues: number;\n  /**\n   * @example \"2011-04-10T20:09:31.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * Simple User\n   */\n  creator: SimpleUser;\n  /**\n   * @example Tracking milestone for version 1.0\n   */\n  description: string | null;\n  /**\n   * @example \"2012-10-09T23:39:01.000Z\"\n   * @format date-time\n   */\n  due_on: string | null;\n  /**\n   * @example https://github.com/octocat/Hello-World/milestones/v1.0\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example 1002604\n   */\n  id: number;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels\n   * @format uri\n   */\n  labels_url: string;\n  /**\n   * @example MDk6TWlsZXN0b25lMTAwMjYwNA==\n   */\n  node_id: string;\n  /**\n   * The number of the milestone.\n   *\n   * @example 42\n   */\n  number: number;\n  /**\n   * @example 4\n   */\n  open_issues: number;\n  /**\n   * The state of the milestone.\n   *\n   * @default open\n   * @example open\n   */\n  state: 'open' | 'closed';\n  /**\n   * The title of the milestone.\n   *\n   * @example v1.0\n   */\n  title: string;\n  /**\n   * @example \"2014-03-03T18:58:10.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/milestones/1\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Minimal Repository\n */\nexport type MinimalRepository = {\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\n   */\n  archive_url: string;\n  archived?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/assignees{/user}\n   */\n  assignees_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\n   */\n  blobs_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/branches{/branch}\n   */\n  branches_url: string;\n  clone_url?: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\n   */\n  collaborators_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/comments{/number}\n   */\n  comments_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/commits{/sha}\n   */\n  commits_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\n   */\n  compare_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/contents/{+path}\n   */\n  contents_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/contributors\n   * @format uri\n   */\n  contributors_url: string;\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  created_at?: string | null;\n  default_branch?: string;\n  delete_branch_on_merge?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/deployments\n   * @format uri\n   */\n  deployments_url: string;\n  /**\n   * @example This your first repo!\n   */\n  description: string | null;\n  disabled?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/downloads\n   * @format uri\n   */\n  downloads_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/events\n   * @format uri\n   */\n  events_url: string;\n  fork: boolean;\n  /**\n   * @example 0\n   */\n  forks?: number;\n  forks_count?: number;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/forks\n   * @format uri\n   */\n  forks_url: string;\n  /**\n   * @example octocat/Hello-World\n   */\n  full_name: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\n   */\n  git_commits_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\n   */\n  git_refs_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\n   */\n  git_tags_url: string;\n  git_url?: string;\n  has_downloads?: boolean;\n  has_issues?: boolean;\n  has_pages?: boolean;\n  has_projects?: boolean;\n  has_wiki?: boolean;\n  homepage?: string | null;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/hooks\n   * @format uri\n   */\n  hooks_url: string;\n  /**\n   * @example https://github.com/octocat/Hello-World\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example 1296269\n   */\n  id: number;\n  is_template?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\n   */\n  issue_comment_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number}\n   */\n  issue_events_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/issues{/number}\n   */\n  issues_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id}\n   */\n  keys_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/labels{/name}\n   */\n  labels_url: string;\n  language?: string | null;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/languages\n   * @format uri\n   */\n  languages_url: string;\n  license?: {\n    key?: string;\n    name?: string;\n    node_id?: string;\n    spdx_id?: string;\n    url?: string;\n  } | null;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/merges\n   * @format uri\n   */\n  merges_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/milestones{/number}\n   */\n  milestones_url: string;\n  mirror_url?: string | null;\n  /**\n   * @example Hello-World\n   */\n  name: string;\n  network_count?: number;\n  /**\n   * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5\n   */\n  node_id: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\n   */\n  notifications_url: string;\n  /**\n   * @example 0\n   */\n  open_issues?: number;\n  open_issues_count?: number;\n  /**\n   * Simple User\n   */\n  owner: SimpleUser;\n  permissions?: {\n    admin?: boolean;\n    pull?: boolean;\n    push?: boolean;\n  };\n  private: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/pulls{/number}\n   */\n  pulls_url: string;\n  /**\n   * @example \"2011-01-26T19:06:43.000Z\"\n   * @format date-time\n   */\n  pushed_at?: string | null;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/releases{/id}\n   */\n  releases_url: string;\n  size?: number;\n  ssh_url?: string;\n  stargazers_count?: number;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/stargazers\n   * @format uri\n   */\n  stargazers_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha}\n   */\n  statuses_url: string;\n  subscribers_count?: number;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/subscribers\n   * @format uri\n   */\n  subscribers_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/subscription\n   * @format uri\n   */\n  subscription_url: string;\n  svn_url?: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/tags\n   * @format uri\n   */\n  tags_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/teams\n   * @format uri\n   */\n  teams_url: string;\n  temp_clone_token?: string;\n  /**\n   * A git repository\n   */\n  template_repository?: Repository;\n  topics?: string[];\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\n   */\n  trees_url: string;\n  /**\n   * @example \"2011-01-26T19:14:43.000Z\"\n   * @format date-time\n   */\n  updated_at?: string | null;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World\n   * @format uri\n   */\n  url: string;\n  visibility?: string;\n  /**\n   * @example 0\n   */\n  watchers?: number;\n  watchers_count?: number;\n};\n\n/**\n * Org Hook\n */\nexport type OrgHook = {\n  /**\n   * @example true\n   */\n  active: boolean;\n  config: {\n    /**\n     * @example \"form\"\n     */\n    content_type?: string;\n    /**\n     * @example \"0\"\n     */\n    insecure_ssl?: string;\n    /**\n     * @example \"********\"\n     */\n    secret?: string;\n    /**\n     * @example \"http://example.com/2\"\n     */\n    url?: string;\n  };\n  /**\n   * @example \"2011-09-06T17:26:27.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example push\n   * @example pull_request\n   */\n  events: string[];\n  /**\n   * @example 1\n   */\n  id: number;\n  /**\n   * @example web\n   */\n  name: string;\n  /**\n   * @example https://api.github.com/orgs/octocat/hooks/1/pings\n   * @format uri\n   */\n  ping_url: string;\n  type: string;\n  /**\n   * @example \"2011-09-06T20:39:23.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/orgs/octocat/hooks/1\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Org Membership\n */\nexport type OrgMembership = {\n  organization: OrganizationSimple;\n  /**\n   * @example https://api.github.com/orgs/octocat\n   * @format uri\n   */\n  organization_url: string;\n  permissions?: {\n    can_create_repository: boolean;\n  };\n  /**\n   * @example admin\n   */\n  role: string;\n  /**\n   * @example active\n   */\n  state: string;\n  /**\n   * @example https://api.github.com/orgs/octocat/memberships/defunkt\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * Secrets for GitHub Actions for an organization.\n */\nexport type OrganizationActionsSecret = {\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * The name of the secret.\n   *\n   * @example SECRET_TOKEN\n   */\n  name: string;\n  /**\n   * @example https://api.github.com/organizations/org/secrets/my_secret/repositories\n   * @format uri\n   */\n  selected_repositories_url?: string;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * Visibility of a secret\n   */\n  visibility: 'all' | 'private' | 'selected';\n};\n\n/**\n * Organization Full\n */\nexport type OrganizationFull = {\n  /**\n   * @example https://github.com/images/error/octocat_happy.gif\n   */\n  avatar_url: string;\n  /**\n   * @example org@example.com\n   * @format email\n   */\n  billing_email?: string | null;\n  /**\n   * @example https://github.com/blog\n   * @format uri\n   */\n  blog?: string;\n  /**\n   * @example 8\n   */\n  collaborators?: number | null;\n  /**\n   * @example GitHub\n   */\n  company?: string;\n  /**\n   * @example \"2008-01-14T04:33:35.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  default_repository_permission?: string | null;\n  /**\n   * @example A great organization\n   */\n  description: string | null;\n  /**\n   * @example 10000\n   */\n  disk_usage?: number | null;\n  /**\n   * @example octocat@github.com\n   * @format email\n   */\n  email?: string;\n  /**\n   * @example https://api.github.com/orgs/github/events\n   * @format uri\n   */\n  events_url: string;\n  /**\n   * @example 20\n   */\n  followers: number;\n  /**\n   * @example 0\n   */\n  following: number;\n  /**\n   * @example true\n   */\n  has_organization_projects: boolean;\n  /**\n   * @example true\n   */\n  has_repository_projects: boolean;\n  /**\n   * @example https://api.github.com/orgs/github/hooks\n   */\n  hooks_url: string;\n  /**\n   * @example https://github.com/octocat\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  /**\n   * @example true\n   */\n  is_verified?: boolean;\n  /**\n   * @example https://api.github.com/orgs/github/issues\n   */\n  issues_url: string;\n  /**\n   * @example San Francisco\n   */\n  location?: string;\n  /**\n   * @example github\n   */\n  login: string;\n  /**\n   * @example all\n   */\n  members_allowed_repository_creation_type?: string;\n  /**\n   * @example true\n   */\n  members_can_create_internal_repositories?: boolean;\n  /**\n   * @example true\n   */\n  members_can_create_pages?: boolean;\n  /**\n   * @example true\n   */\n  members_can_create_private_repositories?: boolean;\n  /**\n   * @example true\n   */\n  members_can_create_public_repositories?: boolean;\n  /**\n   * @example true\n   */\n  members_can_create_repositories?: boolean | null;\n  /**\n   * @example https://api.github.com/orgs/github/members{/member}\n   */\n  members_url: string;\n  /**\n   * @example github\n   */\n  name?: string;\n  /**\n   * @example MDEyOk9yZ2FuaXphdGlvbjE=\n   */\n  node_id: string;\n  /**\n   * @example 100\n   */\n  owned_private_repos?: number;\n  plan?: {\n    filled_seats?: number;\n    name: string;\n    private_repos: number;\n    seats?: number;\n    space: number;\n  };\n  /**\n   * @example 81\n   */\n  private_gists?: number | null;\n  /**\n   * @example 1\n   */\n  public_gists: number;\n  /**\n   * @example https://api.github.com/orgs/github/public_members{/member}\n   */\n  public_members_url: string;\n  /**\n   * @example 2\n   */\n  public_repos: number;\n  /**\n   * @example https://api.github.com/orgs/github/repos\n   * @format uri\n   */\n  repos_url: string;\n  /**\n   * @example 100\n   */\n  total_private_repos?: number;\n  /**\n   * @example github\n   */\n  twitter_username?: string | null;\n  /**\n   * @example true\n   */\n  two_factor_requirement_enabled?: boolean | null;\n  /**\n   * @example Organization\n   */\n  type: string;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/orgs/github\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Organization Invitation\n */\nexport type OrganizationInvitation = {\n  created_at: string;\n  email: string | null;\n  failed_at?: string;\n  failed_reason?: string;\n  id: number;\n  invitation_team_url: string;\n  /**\n   * @example \"https://api.github.com/organizations/16/invitations/1/teams\"\n   */\n  invitation_teams_url?: string;\n  inviter: SimpleUser;\n  login: string | null;\n  /**\n   * @example \"MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x\"\n   */\n  node_id: string;\n  role: string;\n  team_count: number;\n};\n\n/**\n * Organization Simple\n */\nexport type OrganizationSimple = {\n  /**\n   * @example https://github.com/images/error/octocat_happy.gif\n   */\n  avatar_url: string;\n  /**\n   * @example A great organization\n   */\n  description: string | null;\n  /**\n   * @example https://api.github.com/orgs/github/events\n   * @format uri\n   */\n  events_url: string;\n  /**\n   * @example https://api.github.com/orgs/github/hooks\n   */\n  hooks_url: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  /**\n   * @example https://api.github.com/orgs/github/issues\n   */\n  issues_url: string;\n  /**\n   * @example github\n   */\n  login: string;\n  /**\n   * @example https://api.github.com/orgs/github/members{/member}\n   */\n  members_url: string;\n  /**\n   * @example MDEyOk9yZ2FuaXphdGlvbjE=\n   */\n  node_id: string;\n  /**\n   * @example https://api.github.com/orgs/github/public_members{/member}\n   */\n  public_members_url: string;\n  /**\n   * @example https://api.github.com/orgs/github/repos\n   * @format uri\n   */\n  repos_url: string;\n  /**\n   * @example https://api.github.com/orgs/github\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * A software package\n */\nexport type Package = {\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example https://github.com/orgs/github/packages/container/package/super-linter\n   */\n  html_url: string;\n  /**\n   * Unique identifier of the package.\n   *\n   * @example 1\n   */\n  id: number;\n  /**\n   * The name of the package.\n   *\n   * @example super-linter\n   */\n  name: string;\n  /**\n   * Simple User\n   */\n  owner?: SimpleUser;\n  /**\n   * @example docker\n   */\n  package_type: 'npm' | 'maven' | 'rubygems' | 'docker' | 'nuget' | 'container';\n  /**\n   * Minimal Repository\n   */\n  repository?: MinimalRepository;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/orgs/github/packages/container/super-linter\n   */\n  url: string;\n  /**\n   * The number of versions of the package.\n   *\n   * @example 1\n   */\n  version_count: number;\n  /**\n   * @example private\n   */\n  visibility: 'private' | 'public';\n};\n\n/**\n * A version of a software package\n */\nexport type PackageVersion = {\n  /**\n   * @example \"2011-04-10T20:09:31.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example \"2014-03-03T18:58:10.000Z\"\n   * @format date-time\n   */\n  deleted_at?: string;\n  description?: string;\n  /**\n   * @example https://github.com/orgs/github/packages/container/super-linter/786068\n   */\n  html_url?: string;\n  /**\n   * Unique identifier of the package version.\n   *\n   * @example 1\n   */\n  id: number;\n  /**\n   * @example MIT\n   */\n  license?: string;\n  metadata?: {\n    container?: {\n      tags: any[];\n    };\n    docker?: {\n      tag?: any[];\n    };\n    /**\n     * @example docker\n     */\n    package_type:\n      | 'npm'\n      | 'maven'\n      | 'rubygems'\n      | 'docker'\n      | 'nuget'\n      | 'container';\n  };\n  /**\n   * The name of the package version.\n   *\n   * @example latest\n   */\n  name: string;\n  /**\n   * @example https://github.com/orgs/github/packages/container/package/super-linter\n   */\n  package_html_url: string;\n  /**\n   * @example \"2014-03-03T18:58:10.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/orgs/github/packages/container/super-linter/versions/786068\n   */\n  url: string;\n};\n\nexport type PackagesBillingUsage = {\n  /**\n   * Free storage space (GB) for GitHub Packages.\n   */\n  included_gigabytes_bandwidth: number;\n  /**\n   * Sum of the free and paid storage space (GB) for GitHuub Packages.\n   */\n  total_gigabytes_bandwidth_used: number;\n  /**\n   * Total paid storage space (GB) for GitHuub Packages.\n   */\n  total_paid_gigabytes_bandwidth_used: number;\n};\n\n/**\n * The configuration for GitHub Pages for a repository.\n */\nexport type Page = {\n  /**\n   * The Pages site's custom domain\n   *\n   * @example example.com\n   */\n  cname: string | null;\n  /**\n   * Whether the Page has a custom 404 page.\n   *\n   * @default false\n   * @example false\n   */\n  custom_404: boolean;\n  /**\n   * The web address the Page can be accessed from.\n   *\n   * @example https://example.com\n   * @format uri\n   */\n  html_url?: string;\n  /**\n   * Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site.\n   *\n   * @example true\n   */\n  public: boolean;\n  source?: PagesSourceHash;\n  /**\n   * The status of the most recent build of the Page.\n   *\n   * @example built\n   */\n  status: 'built' | 'building' | 'errored';\n  /**\n   * The API address for accessing this Page resource.\n   *\n   * @example https://api.github.com/repos/github/hello-world/pages\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Page Build\n */\nexport type PageBuild = {\n  commit: string;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  duration: number;\n  error: {\n    message: string | null;\n  };\n  /**\n   * Simple User\n   */\n  pusher: SimpleUser;\n  status: string;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Page Build Status\n */\nexport type PageBuildStatus = {\n  /**\n   * @example queued\n   */\n  status: string;\n  /**\n   * @example https://api.github.com/repos/github/hello-world/pages/builds/latest\n   * @format uri\n   */\n  url: string;\n};\n\nexport type PagesSourceHash = {\n  branch: string;\n  path: string;\n};\n\nexport type ParticipationStats = {\n  all: number[];\n  owner: number[];\n};\n\n/**\n * Details of a deployment that is waiting for protection rules to pass\n */\nexport type PendingDeployment = {\n  /**\n   * Whether the currently authenticated user can approve the deployment\n   *\n   * @example true\n   */\n  current_user_can_approve: boolean;\n  environment: {\n    /**\n     * @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging\n     */\n    html_url?: string;\n    /**\n     * The id of the environment.\n     *\n     * @example 56780428\n     */\n    id?: number;\n    /**\n     * The name of the environment.\n     *\n     * @example staging\n     */\n    name?: string;\n    /**\n     * @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg=\n     */\n    node_id?: string;\n    /**\n     * @example https://api.github.com/repos/github/hello-world/environments/staging\n     */\n    url?: string;\n  };\n  /**\n   * The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.\n   */\n  reviewers: {\n    reviewer?: SimpleUser | TeamSimple;\n    type?: DeploymentReviewerType;\n  }[];\n  /**\n   * The set duration of the wait timer\n   *\n   * @example 30\n   */\n  wait_timer: number;\n  /**\n   * The time that the wait timer began.\n   *\n   * @example \"2020-11-23T22:00:40.000Z\"\n   * @format date-time\n   */\n  wait_timer_started_at: string | null;\n};\n\n/**\n * Porter Author\n */\nexport type PorterAuthor = {\n  email: string;\n  id: number;\n  /**\n   * @format uri\n   */\n  import_url: string;\n  name: string;\n  remote_id: string;\n  remote_name: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Porter Large File\n */\nexport type PorterLargeFile = {\n  oid: string;\n  path: string;\n  ref_name: string;\n  size: number;\n};\n\n/**\n * Private User\n */\nexport type PrivateUser = {\n  /**\n   * @example https://github.com/images/error/octocat_happy.gif\n   * @format uri\n   */\n  avatar_url: string;\n  /**\n   * @example There once was...\n   */\n  bio: string | null;\n  /**\n   * @example https://github.com/blog\n   */\n  blog: string | null;\n  business_plus?: boolean;\n  /**\n   * @example 8\n   */\n  collaborators: number;\n  /**\n   * @example GitHub\n   */\n  company: string | null;\n  /**\n   * @example \"2008-01-14T04:33:35.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example 10000\n   */\n  disk_usage: number;\n  /**\n   * @example octocat@github.com\n   * @format email\n   */\n  email: string | null;\n  /**\n   * @example https://api.github.com/users/octocat/events{/privacy}\n   */\n  events_url: string;\n  /**\n   * @example 20\n   */\n  followers: number;\n  /**\n   * @example https://api.github.com/users/octocat/followers\n   * @format uri\n   */\n  followers_url: string;\n  /**\n   * @example 0\n   */\n  following: number;\n  /**\n   * @example https://api.github.com/users/octocat/following{/other_user}\n   */\n  following_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/gists{/gist_id}\n   */\n  gists_url: string;\n  /**\n   * @example 41d064eb2195891e12d0413f63227ea7\n   */\n  gravatar_id: string | null;\n  hireable: boolean | null;\n  /**\n   * @example https://github.com/octocat\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  ldap_dn?: string;\n  /**\n   * @example San Francisco\n   */\n  location: string | null;\n  /**\n   * @example octocat\n   */\n  login: string;\n  /**\n   * @example monalisa octocat\n   */\n  name: string | null;\n  /**\n   * @example MDQ6VXNlcjE=\n   */\n  node_id: string;\n  /**\n   * @example https://api.github.com/users/octocat/orgs\n   * @format uri\n   */\n  organizations_url: string;\n  /**\n   * @example 100\n   */\n  owned_private_repos: number;\n  plan?: {\n    collaborators: number;\n    name: string;\n    private_repos: number;\n    space: number;\n  };\n  /**\n   * @example 81\n   */\n  private_gists: number;\n  /**\n   * @example 1\n   */\n  public_gists: number;\n  /**\n   * @example 2\n   */\n  public_repos: number;\n  /**\n   * @example https://api.github.com/users/octocat/received_events\n   * @format uri\n   */\n  received_events_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/repos\n   * @format uri\n   */\n  repos_url: string;\n  site_admin: boolean;\n  /**\n   * @example https://api.github.com/users/octocat/starred{/owner}{/repo}\n   */\n  starred_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/subscriptions\n   * @format uri\n   */\n  subscriptions_url: string;\n  /**\n   * @format date-time\n   */\n  suspended_at?: string | null;\n  /**\n   * @example 100\n   */\n  total_private_repos: number;\n  /**\n   * @example monalisa\n   */\n  twitter_username?: string | null;\n  /**\n   * @example true\n   */\n  two_factor_authentication: boolean;\n  /**\n   * @example User\n   */\n  type: string;\n  /**\n   * @example \"2008-01-14T04:33:35.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/users/octocat\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Projects are a way to organize columns and cards of work.\n */\nexport type Project = {\n  /**\n   * Body of the project\n   *\n   * @example This project represents the sprint of the first week in January\n   */\n  body: string | null;\n  /**\n   * @example https://api.github.com/projects/1002604/columns\n   * @format uri\n   */\n  columns_url: string;\n  /**\n   * @example \"2011-04-10T20:09:31.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * Simple User\n   */\n  creator: SimpleUser;\n  /**\n   * @example https://github.com/api-playground/projects-test/projects/12\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example 1002604\n   */\n  id: number;\n  /**\n   * Name of the project\n   *\n   * @example Week One Sprint\n   */\n  name: string;\n  /**\n   * @example MDc6UHJvamVjdDEwMDI2MDQ=\n   */\n  node_id: string;\n  /**\n   * @example 1\n   */\n  number: number;\n  /**\n   * The baseline permission that all organization members have on this project. Only present if owner is an organization.\n   */\n  organization_permission?: 'read' | 'write' | 'admin' | 'none';\n  /**\n   * @example https://api.github.com/repos/api-playground/projects-test\n   * @format uri\n   */\n  owner_url: string;\n  /**\n   * Whether or not this project can be seen by everyone. Only present if owner is an organization.\n   */\n  private?: boolean;\n  /**\n   * State of the project; either 'open' or 'closed'\n   *\n   * @example open\n   */\n  state: string;\n  /**\n   * @example \"2014-03-03T18:58:10.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/projects/1002604\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Project cards represent a scope of work.\n */\nexport type ProjectCard = {\n  /**\n   * Whether or not the card is archived\n   *\n   * @example false\n   */\n  archived?: boolean;\n  /**\n   * @example https://api.github.com/projects/columns/367\n   * @format uri\n   */\n  column_url: string;\n  /**\n   * @example https://api.github.com/repos/api-playground/projects-test/issues/3\n   * @format uri\n   */\n  content_url?: string;\n  /**\n   * @example \"2016-09-05T14:21:06.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * Simple User\n   */\n  creator: SimpleUser;\n  /**\n   * The project card's ID\n   *\n   * @example 42\n   */\n  id: number;\n  /**\n   * @example MDExOlByb2plY3RDYXJkMTQ3OA==\n   */\n  node_id: string;\n  /**\n   * @example Add payload for delete Project column\n   */\n  note: string | null;\n  /**\n   * @example https://api.github.com/projects/120\n   * @format uri\n   */\n  project_url: string;\n  /**\n   * @example \"2016-09-05T14:20:22.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/projects/columns/cards/1478\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Project columns contain cards of work.\n */\nexport type ProjectColumn = {\n  /**\n   * @example https://api.github.com/projects/columns/367/cards\n   * @format uri\n   */\n  cards_url: string;\n  /**\n   * @example \"2016-09-05T14:18:44.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * The unique identifier of the project column\n   *\n   * @example 42\n   */\n  id: number;\n  /**\n   * Name of the project column\n   *\n   * @example Remaining tasks\n   */\n  name: string;\n  /**\n   * @example MDEzOlByb2plY3RDb2x1bW4zNjc=\n   */\n  node_id: string;\n  /**\n   * @example https://api.github.com/projects/120\n   * @format uri\n   */\n  project_url: string;\n  /**\n   * @example \"2016-09-05T14:22:28.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/projects/columns/367\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Branch protections protect branches\n */\nexport type ProtectedBranch = {\n  allow_deletions?: {\n    enabled: boolean;\n  };\n  allow_force_pushes?: {\n    enabled: boolean;\n  };\n  enforce_admins?: {\n    enabled: boolean;\n    /**\n     * @format uri\n     */\n    url: string;\n  };\n  required_linear_history?: {\n    enabled: boolean;\n  };\n  required_pull_request_reviews?: {\n    dismiss_stale_reviews?: boolean;\n    dismissal_restrictions?: {\n      teams: Team[];\n      /**\n       * @format uri\n       */\n      teams_url: string;\n      /**\n       * @format uri\n       */\n      url: string;\n      users: SimpleUser[];\n      /**\n       * @format uri\n       */\n      users_url: string;\n    };\n    require_code_owner_reviews?: boolean;\n    required_approving_review_count?: number;\n    /**\n     * @format uri\n     */\n    url: string;\n  };\n  required_signatures?: {\n    /**\n     * @example true\n     */\n    enabled: boolean;\n    /**\n     * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures\n     * @format uri\n     */\n    url: string;\n  };\n  required_status_checks?: StatusCheckPolicy;\n  restrictions?: BranchRestrictionPolicy;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Protected Branch Admin Enforced\n */\nexport type ProtectedBranchAdminEnforced = {\n  /**\n   * @example true\n   */\n  enabled: boolean;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Protected Branch Pull Request Review\n */\nexport type ProtectedBranchPullRequestReview = {\n  /**\n   * @example true\n   */\n  dismiss_stale_reviews: boolean;\n  dismissal_restrictions?: {\n    /**\n     * The list of teams with review dismissal access.\n     */\n    teams?: Team[];\n    /**\n     * @example \"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams\"\n     */\n    teams_url?: string;\n    /**\n     * @example \"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions\"\n     */\n    url?: string;\n    /**\n     * The list of users with review dismissal access.\n     */\n    users?: SimpleUser[];\n    /**\n     * @example \"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users\"\n     */\n    users_url?: string;\n  };\n  /**\n   * @example true\n   */\n  require_code_owner_reviews: boolean;\n  /**\n   * @example 2\n   * @maximum 6\n   * @minimum 1\n   */\n  required_approving_review_count?: number;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions\n   * @format uri\n   */\n  url?: string;\n};\n\n/**\n * Public User\n */\nexport type PublicUser = {\n  /**\n   * @format uri\n   */\n  avatar_url: string;\n  bio: string | null;\n  blog: string | null;\n  /**\n   * @example 3\n   */\n  collaborators?: number;\n  company: string | null;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example 1\n   */\n  disk_usage?: number;\n  /**\n   * @format email\n   */\n  email: string | null;\n  events_url: string;\n  followers: number;\n  /**\n   * @format uri\n   */\n  followers_url: string;\n  following: number;\n  following_url: string;\n  gists_url: string;\n  gravatar_id: string | null;\n  hireable: boolean | null;\n  /**\n   * @format uri\n   */\n  html_url: string;\n  id: number;\n  location: string | null;\n  login: string;\n  name: string | null;\n  node_id: string;\n  /**\n   * @format uri\n   */\n  organizations_url: string;\n  /**\n   * @example 2\n   */\n  owned_private_repos?: number;\n  plan?: {\n    collaborators: number;\n    name: string;\n    private_repos: number;\n    space: number;\n  };\n  /**\n   * @example 1\n   */\n  private_gists?: number;\n  public_gists: number;\n  public_repos: number;\n  /**\n   * @format uri\n   */\n  received_events_url: string;\n  /**\n   * @format uri\n   */\n  repos_url: string;\n  site_admin: boolean;\n  starred_url: string;\n  /**\n   * @format uri\n   */\n  subscriptions_url: string;\n  /**\n   * @format date-time\n   */\n  suspended_at?: string | null;\n  /**\n   * @example 2\n   */\n  total_private_repos?: number;\n  twitter_username?: string | null;\n  type: string;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary.\n */\nexport type PullRequest = {\n  _links: {\n    comments: Link;\n    commits: Link;\n    html: Link;\n    issue: Link;\n    review_comment: Link;\n    review_comments: Link;\n    self: Link;\n    statuses: Link;\n  };\n  /**\n   * @example too heated\n   */\n  active_lock_reason?: string | null;\n  /**\n   * @example 100\n   */\n  additions: number;\n  /**\n   * Simple User\n   */\n  assignee: SimpleUser;\n  assignees?: SimpleUser[] | null;\n  author_association: AuthorAssociation;\n  auto_merge: AutoMerge;\n  base: {\n    label: string;\n    ref: string;\n    repo: {\n      allow_merge_commit?: boolean;\n      allow_rebase_merge?: boolean;\n      allow_squash_merge?: boolean;\n      archive_url: string;\n      archived: boolean;\n      assignees_url: string;\n      blobs_url: string;\n      branches_url: string;\n      clone_url: string;\n      collaborators_url: string;\n      comments_url: string;\n      commits_url: string;\n      compare_url: string;\n      contents_url: string;\n      /**\n       * @format uri\n       */\n      contributors_url: string;\n      /**\n       * @format date-time\n       */\n      created_at: string;\n      default_branch: string;\n      /**\n       * @format uri\n       */\n      deployments_url: string;\n      description: string | null;\n      disabled: boolean;\n      /**\n       * @format uri\n       */\n      downloads_url: string;\n      /**\n       * @format uri\n       */\n      events_url: string;\n      fork: boolean;\n      forks: number;\n      forks_count: number;\n      /**\n       * @format uri\n       */\n      forks_url: string;\n      full_name: string;\n      git_commits_url: string;\n      git_refs_url: string;\n      git_tags_url: string;\n      git_url: string;\n      has_downloads: boolean;\n      has_issues: boolean;\n      has_pages: boolean;\n      has_projects: boolean;\n      has_wiki: boolean;\n      /**\n       * @format uri\n       */\n      homepage: string | null;\n      /**\n       * @format uri\n       */\n      hooks_url: string;\n      /**\n       * @format uri\n       */\n      html_url: string;\n      id: number;\n      issue_comment_url: string;\n      issue_events_url: string;\n      issues_url: string;\n      keys_url: string;\n      labels_url: string;\n      language: string | null;\n      /**\n       * @format uri\n       */\n      languages_url: string;\n      /**\n       * License Simple\n       */\n      license: LicenseSimple;\n      master_branch?: string;\n      /**\n       * @format uri\n       */\n      merges_url: string;\n      milestones_url: string;\n      /**\n       * @format uri\n       */\n      mirror_url: string | null;\n      name: string;\n      node_id: string;\n      notifications_url: string;\n      open_issues: number;\n      open_issues_count: number;\n      owner: {\n        /**\n         * @format uri\n         */\n        avatar_url: string;\n        events_url: string;\n        /**\n         * @format uri\n         */\n        followers_url: string;\n        following_url: string;\n        gists_url: string;\n        gravatar_id: string | null;\n        /**\n         * @format uri\n         */\n        html_url: string;\n        id: number;\n        login: string;\n        node_id: string;\n        /**\n         * @format uri\n         */\n        organizations_url: string;\n        /**\n         * @format uri\n         */\n        received_events_url: string;\n        /**\n         * @format uri\n         */\n        repos_url: string;\n        site_admin: boolean;\n        starred_url: string;\n        /**\n         * @format uri\n         */\n        subscriptions_url: string;\n        type: string;\n        /**\n         * @format uri\n         */\n        url: string;\n      };\n      permissions?: {\n        admin: boolean;\n        pull: boolean;\n        push: boolean;\n      };\n      private: boolean;\n      pulls_url: string;\n      /**\n       * @format date-time\n       */\n      pushed_at: string;\n      releases_url: string;\n      size: number;\n      ssh_url: string;\n      stargazers_count: number;\n      /**\n       * @format uri\n       */\n      stargazers_url: string;\n      statuses_url: string;\n      /**\n       * @format uri\n       */\n      subscribers_url: string;\n      /**\n       * @format uri\n       */\n      subscription_url: string;\n      /**\n       * @format uri\n       */\n      svn_url: string;\n      /**\n       * @format uri\n       */\n      tags_url: string;\n      /**\n       * @format uri\n       */\n      teams_url: string;\n      temp_clone_token?: string;\n      topics?: string[];\n      trees_url: string;\n      /**\n       * @format date-time\n       */\n      updated_at: string;\n      /**\n       * @format uri\n       */\n      url: string;\n      watchers: number;\n      watchers_count: number;\n    };\n    sha: string;\n    user: {\n      /**\n       * @format uri\n       */\n      avatar_url: string;\n      events_url: string;\n      /**\n       * @format uri\n       */\n      followers_url: string;\n      following_url: string;\n      gists_url: string;\n      gravatar_id: string | null;\n      /**\n       * @format uri\n       */\n      html_url: string;\n      id: number;\n      login: string;\n      node_id: string;\n      /**\n       * @format uri\n       */\n      organizations_url: string;\n      /**\n       * @format uri\n       */\n      received_events_url: string;\n      /**\n       * @format uri\n       */\n      repos_url: string;\n      site_admin: boolean;\n      starred_url: string;\n      /**\n       * @format uri\n       */\n      subscriptions_url: string;\n      type: string;\n      /**\n       * @format uri\n       */\n      url: string;\n    };\n  };\n  /**\n   * @example Please pull these awesome changes\n   */\n  body: string | null;\n  /**\n   * @example 5\n   */\n  changed_files: number;\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  closed_at: string | null;\n  /**\n   * @example 10\n   */\n  comments: number;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments\n   * @format uri\n   */\n  comments_url: string;\n  /**\n   * @example 3\n   */\n  commits: number;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits\n   * @format uri\n   */\n  commits_url: string;\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example 3\n   */\n  deletions: number;\n  /**\n   * @example https://github.com/octocat/Hello-World/pull/1347.diff\n   * @format uri\n   */\n  diff_url: string;\n  /**\n   * Indicates whether or not the pull request is a draft.\n   *\n   * @example false\n   */\n  draft?: boolean;\n  head: {\n    label: string;\n    ref: string;\n    repo: {\n      allow_merge_commit?: boolean;\n      allow_rebase_merge?: boolean;\n      allow_squash_merge?: boolean;\n      archive_url: string;\n      archived: boolean;\n      assignees_url: string;\n      blobs_url: string;\n      branches_url: string;\n      clone_url: string;\n      collaborators_url: string;\n      comments_url: string;\n      commits_url: string;\n      compare_url: string;\n      contents_url: string;\n      /**\n       * @format uri\n       */\n      contributors_url: string;\n      /**\n       * @format date-time\n       */\n      created_at: string;\n      default_branch: string;\n      /**\n       * @format uri\n       */\n      deployments_url: string;\n      description: string | null;\n      disabled: boolean;\n      /**\n       * @format uri\n       */\n      downloads_url: string;\n      /**\n       * @format uri\n       */\n      events_url: string;\n      fork: boolean;\n      forks: number;\n      forks_count: number;\n      /**\n       * @format uri\n       */\n      forks_url: string;\n      full_name: string;\n      git_commits_url: string;\n      git_refs_url: string;\n      git_tags_url: string;\n      git_url: string;\n      has_downloads: boolean;\n      has_issues: boolean;\n      has_pages: boolean;\n      has_projects: boolean;\n      has_wiki: boolean;\n      /**\n       * @format uri\n       */\n      homepage: string | null;\n      /**\n       * @format uri\n       */\n      hooks_url: string;\n      /**\n       * @format uri\n       */\n      html_url: string;\n      id: number;\n      issue_comment_url: string;\n      issue_events_url: string;\n      issues_url: string;\n      keys_url: string;\n      labels_url: string;\n      language: string | null;\n      /**\n       * @format uri\n       */\n      languages_url: string;\n      license: {\n        key: string;\n        name: string;\n        node_id: string;\n        spdx_id: string | null;\n        /**\n         * @format uri\n         */\n        url: string | null;\n      } | null;\n      master_branch?: string;\n      /**\n       * @format uri\n       */\n      merges_url: string;\n      milestones_url: string;\n      /**\n       * @format uri\n       */\n      mirror_url: string | null;\n      name: string;\n      node_id: string;\n      notifications_url: string;\n      open_issues: number;\n      open_issues_count: number;\n      owner: {\n        /**\n         * @format uri\n         */\n        avatar_url: string;\n        events_url: string;\n        /**\n         * @format uri\n         */\n        followers_url: string;\n        following_url: string;\n        gists_url: string;\n        gravatar_id: string | null;\n        /**\n         * @format uri\n         */\n        html_url: string;\n        id: number;\n        login: string;\n        node_id: string;\n        /**\n         * @format uri\n         */\n        organizations_url: string;\n        /**\n         * @format uri\n         */\n        received_events_url: string;\n        /**\n         * @format uri\n         */\n        repos_url: string;\n        site_admin: boolean;\n        starred_url: string;\n        /**\n         * @format uri\n         */\n        subscriptions_url: string;\n        type: string;\n        /**\n         * @format uri\n         */\n        url: string;\n      };\n      permissions?: {\n        admin: boolean;\n        pull: boolean;\n        push: boolean;\n      };\n      private: boolean;\n      pulls_url: string;\n      /**\n       * @format date-time\n       */\n      pushed_at: string;\n      releases_url: string;\n      size: number;\n      ssh_url: string;\n      stargazers_count: number;\n      /**\n       * @format uri\n       */\n      stargazers_url: string;\n      statuses_url: string;\n      /**\n       * @format uri\n       */\n      subscribers_url: string;\n      /**\n       * @format uri\n       */\n      subscription_url: string;\n      /**\n       * @format uri\n       */\n      svn_url: string;\n      /**\n       * @format uri\n       */\n      tags_url: string;\n      /**\n       * @format uri\n       */\n      teams_url: string;\n      temp_clone_token?: string;\n      topics?: string[];\n      trees_url: string;\n      /**\n       * @format date-time\n       */\n      updated_at: string;\n      /**\n       * @format uri\n       */\n      url: string;\n      watchers: number;\n      watchers_count: number;\n    };\n    sha: string;\n    user: {\n      /**\n       * @format uri\n       */\n      avatar_url: string;\n      events_url: string;\n      /**\n       * @format uri\n       */\n      followers_url: string;\n      following_url: string;\n      gists_url: string;\n      gravatar_id: string | null;\n      /**\n       * @format uri\n       */\n      html_url: string;\n      id: number;\n      login: string;\n      node_id: string;\n      /**\n       * @format uri\n       */\n      organizations_url: string;\n      /**\n       * @format uri\n       */\n      received_events_url: string;\n      /**\n       * @format uri\n       */\n      repos_url: string;\n      site_admin: boolean;\n      starred_url: string;\n      /**\n       * @format uri\n       */\n      subscriptions_url: string;\n      type: string;\n      /**\n       * @format uri\n       */\n      url: string;\n    };\n  };\n  /**\n   * @example https://github.com/octocat/Hello-World/pull/1347\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/issues/1347\n   * @format uri\n   */\n  issue_url: string;\n  labels: {\n    color?: string;\n    ['default']?: boolean;\n    description?: string | null;\n    id?: number;\n    name?: string;\n    node_id?: string;\n    url?: string;\n  }[];\n  /**\n   * @example true\n   */\n  locked: boolean;\n  /**\n   * Indicates whether maintainers can modify the pull request.\n   *\n   * @example true\n   */\n  maintainer_can_modify: boolean;\n  /**\n   * @example e5bd3914e2e596debea16f433f57875b5b90bcd6\n   */\n  merge_commit_sha: string | null;\n  /**\n   * @example true\n   */\n  mergeable: boolean | null;\n  /**\n   * @example clean\n   */\n  mergeable_state: string;\n  merged: boolean;\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  merged_at: string | null;\n  /**\n   * Simple User\n   */\n  merged_by: SimpleUser;\n  /**\n   * A collection of related issues and pull requests.\n   */\n  milestone: Milestone;\n  /**\n   * @example MDExOlB1bGxSZXF1ZXN0MQ==\n   */\n  node_id: string;\n  /**\n   * Number uniquely identifying the pull request within its repository.\n   *\n   * @example 42\n   */\n  number: number;\n  /**\n   * @example https://github.com/octocat/Hello-World/pull/1347.patch\n   * @format uri\n   */\n  patch_url: string;\n  /**\n   * @example true\n   */\n  rebaseable?: boolean | null;\n  requested_reviewers?: SimpleUser[] | null;\n  requested_teams?: TeamSimple[] | null;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}\n   */\n  review_comment_url: string;\n  /**\n   * @example 0\n   */\n  review_comments: number;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments\n   * @format uri\n   */\n  review_comments_url: string;\n  /**\n   * State of this Pull Request. Either `open` or `closed`.\n   *\n   * @example open\n   */\n  state: 'open' | 'closed';\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e\n   * @format uri\n   */\n  statuses_url: string;\n  /**\n   * The title of the pull request.\n   *\n   * @example Amazing new feature\n   */\n  title: string;\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * Pull Request Merge Result\n */\nexport type PullRequestMergeResult = {\n  merged: boolean;\n  message: string;\n  sha: string;\n};\n\nexport type PullRequestMinimal = {\n  base: {\n    ref: string;\n    repo: {\n      id: number;\n      name: string;\n      url: string;\n    };\n    sha: string;\n  };\n  head: {\n    ref: string;\n    repo: {\n      id: number;\n      name: string;\n      url: string;\n    };\n    sha: string;\n  };\n  id: number;\n  number: number;\n  url: string;\n};\n\n/**\n * Pull Request Reviews are reviews on pull requests.\n */\nexport type PullRequestReview = {\n  _links: {\n    html: {\n      href: string;\n    };\n    pull_request: {\n      href: string;\n    };\n  };\n  author_association: AuthorAssociation;\n  /**\n   * The text of the review.\n   *\n   * @example This looks great.\n   */\n  body: string;\n  body_html?: string;\n  body_text?: string;\n  /**\n   * A commit SHA for the review.\n   *\n   * @example 54bb654c9e6025347f57900a4a5c2313a96b8035\n   */\n  commit_id: string;\n  /**\n   * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * Unique identifier of the review\n   *\n   * @example 42\n   */\n  id: number;\n  /**\n   * @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=\n   */\n  node_id: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/12\n   * @format uri\n   */\n  pull_request_url: string;\n  /**\n   * @example CHANGES_REQUESTED\n   */\n  state: string;\n  /**\n   * @format date-time\n   */\n  submitted_at?: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * Pull Request Review Comments are comments on a portion of the Pull Request's diff.\n */\nexport type PullRequestReviewComment = {\n  _links: {\n    html: {\n      /**\n       * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1\n       * @format uri\n       */\n      href: string;\n    };\n    pull_request: {\n      /**\n       * @example https://api.github.com/repos/octocat/Hello-World/pulls/1\n       * @format uri\n       */\n      href: string;\n    };\n    self: {\n      /**\n       * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1\n       * @format uri\n       */\n      href: string;\n    };\n  };\n  author_association: AuthorAssociation;\n  /**\n   * The text of the comment.\n   *\n   * @example We should probably include a check for null values here.\n   */\n  body: string;\n  /**\n   * @example \"<p>comment body</p>\"\n   */\n  body_html?: string;\n  /**\n   * @example \"comment body\"\n   */\n  body_text?: string;\n  /**\n   * The SHA of the commit to which the comment applies.\n   *\n   * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e\n   */\n  commit_id: string;\n  /**\n   * @example \"2011-04-14T16:00:49.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * The diff of the line that the comment refers to.\n   *\n   * @example @@ -16,33 +16,40 @@ public class Connection : IConnection...\n   */\n  diff_hunk: string;\n  /**\n   * HTML URL for the pull request review comment.\n   *\n   * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * The ID of the pull request review comment.\n   *\n   * @example 1\n   */\n  id: number;\n  /**\n   * The comment ID to reply to.\n   *\n   * @example 8\n   */\n  in_reply_to_id?: number;\n  /**\n   * The line of the blob to which the comment applies. The last line of the range for a multi-line comment\n   *\n   * @example 2\n   */\n  line?: number;\n  /**\n   * The node ID of the pull request review comment.\n   *\n   * @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw\n   */\n  node_id: string;\n  /**\n   * The SHA of the original commit to which the comment applies.\n   *\n   * @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840\n   */\n  original_commit_id: string;\n  /**\n   * The line of the blob to which the comment applies. The last line of the range for a multi-line comment\n   *\n   * @example 2\n   */\n  original_line?: number;\n  /**\n   * The index of the original line in the diff to which the comment applies.\n   *\n   * @example 4\n   */\n  original_position: number;\n  /**\n   * The first line of the range for a multi-line comment.\n   *\n   * @example 2\n   */\n  original_start_line?: number | null;\n  /**\n   * The relative path of the file to which the comment applies.\n   *\n   * @example config/database.yaml\n   */\n  path: string;\n  /**\n   * The line index in the diff to which the comment applies.\n   *\n   * @example 1\n   */\n  position: number;\n  /**\n   * The ID of the pull request review to which the comment belongs.\n   *\n   * @example 42\n   */\n  pull_request_review_id: number | null;\n  /**\n   * URL for the pull request that the review comment belongs to.\n   *\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/1\n   * @format uri\n   */\n  pull_request_url: string;\n  reactions?: ReactionRollup;\n  /**\n   * The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment\n   *\n   * @default RIGHT\n   */\n  side?: 'LEFT' | 'RIGHT';\n  /**\n   * The first line of the range for a multi-line comment.\n   *\n   * @example 2\n   */\n  start_line?: number | null;\n  /**\n   * The side of the first line of the range for a multi-line comment.\n   *\n   * @default RIGHT\n   */\n  start_side?: 'LEFT' | 'RIGHT';\n  /**\n   * @example \"2011-04-14T16:00:49.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * URL for the pull request review comment\n   *\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1\n   */\n  url: string;\n  user: SimpleUser;\n};\n\n/**\n * Pull Request Review Request\n */\nexport type PullRequestReviewRequest = {\n  teams: TeamSimple[];\n  users: SimpleUser[];\n};\n\n/**\n * Pull Request Simple\n */\nexport type PullRequestSimple = {\n  _links: {\n    comments: Link;\n    commits: Link;\n    html: Link;\n    issue: Link;\n    review_comment: Link;\n    review_comments: Link;\n    self: Link;\n    statuses: Link;\n  };\n  /**\n   * @example too heated\n   */\n  active_lock_reason?: string | null;\n  /**\n   * Simple User\n   */\n  assignee: SimpleUser;\n  assignees?: SimpleUser[] | null;\n  author_association: AuthorAssociation;\n  auto_merge: AutoMerge;\n  base: {\n    label: string;\n    ref: string;\n    repo: Repository;\n    sha: string;\n    /**\n     * Simple User\n     */\n    user: SimpleUser;\n  };\n  /**\n   * @example Please pull these awesome changes\n   */\n  body: string | null;\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  closed_at: string | null;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments\n   * @format uri\n   */\n  comments_url: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits\n   * @format uri\n   */\n  commits_url: string;\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example https://github.com/octocat/Hello-World/pull/1347.diff\n   * @format uri\n   */\n  diff_url: string;\n  /**\n   * Indicates whether or not the pull request is a draft.\n   *\n   * @example false\n   */\n  draft?: boolean;\n  head: {\n    label: string;\n    ref: string;\n    repo: Repository;\n    sha: string;\n    /**\n     * Simple User\n     */\n    user: SimpleUser;\n  };\n  /**\n   * @example https://github.com/octocat/Hello-World/pull/1347\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/issues/1347\n   * @format uri\n   */\n  issue_url: string;\n  labels: {\n    color?: string;\n    ['default']?: boolean;\n    description?: string;\n    id?: number;\n    name?: string;\n    node_id?: string;\n    url?: string;\n  }[];\n  /**\n   * @example true\n   */\n  locked: boolean;\n  /**\n   * @example e5bd3914e2e596debea16f433f57875b5b90bcd6\n   */\n  merge_commit_sha: string | null;\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  merged_at: string | null;\n  /**\n   * A collection of related issues and pull requests.\n   */\n  milestone: Milestone;\n  /**\n   * @example MDExOlB1bGxSZXF1ZXN0MQ==\n   */\n  node_id: string;\n  /**\n   * @example 1347\n   */\n  number: number;\n  /**\n   * @example https://github.com/octocat/Hello-World/pull/1347.patch\n   * @format uri\n   */\n  patch_url: string;\n  requested_reviewers?: SimpleUser[] | null;\n  requested_teams?: TeamSimple[] | null;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}\n   */\n  review_comment_url: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments\n   * @format uri\n   */\n  review_comments_url: string;\n  /**\n   * @example open\n   */\n  state: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e\n   * @format uri\n   */\n  statuses_url: string;\n  /**\n   * @example new-feature\n   */\n  title: string;\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\nexport type RateLimit = {\n  limit: number;\n  remaining: number;\n  reset: number;\n};\n\n/**\n * Rate Limit Overview\n */\nexport type RateLimitOverview = {\n  rate: RateLimit;\n  resources: {\n    code_scanning_upload?: RateLimit;\n    core: RateLimit;\n    graphql?: RateLimit;\n    integration_manifest?: RateLimit;\n    search: RateLimit;\n    source_import?: RateLimit;\n  };\n};\n\n/**\n * Reactions to conversations provide a way to help people express their feelings more simply and effectively.\n */\nexport type Reaction = {\n  /**\n   * The reaction to use\n   *\n   * @example heart\n   */\n  content:\n    | '+1'\n    | '-1'\n    | 'laugh'\n    | 'confused'\n    | 'heart'\n    | 'hooray'\n    | 'rocket'\n    | 'eyes';\n  /**\n   * @example \"2016-05-20T20:09:31.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  /**\n   * @example MDg6UmVhY3Rpb24x\n   */\n  node_id: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\nexport type ReactionRollup = {\n  ['+1']: number;\n  ['-1']: number;\n  confused: number;\n  eyes: number;\n  heart: number;\n  hooray: number;\n  laugh: number;\n  rocket: number;\n  total_count: number;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Referrer Traffic\n */\nexport type ReferrerTraffic = {\n  /**\n   * @example 4\n   */\n  count: number;\n  /**\n   * @example Google\n   */\n  referrer: string;\n  /**\n   * @example 3\n   */\n  uniques: number;\n};\n\n/**\n * A release.\n */\nexport type Release = {\n  assets: ReleaseAsset[];\n  /**\n   * @format uri\n   */\n  assets_url: string;\n  author: SimpleUser;\n  body?: string | null;\n  body_html?: string;\n  body_text?: string;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * true to create a draft (unpublished) release, false to create a published one.\n   *\n   * @example false\n   */\n  draft: boolean;\n  /**\n   * @format uri\n   */\n  html_url: string;\n  id: number;\n  name: string | null;\n  node_id: string;\n  /**\n   * Whether to identify the release as a prerelease or a full release.\n   *\n   * @example false\n   */\n  prerelease: boolean;\n  /**\n   * @format date-time\n   */\n  published_at: string | null;\n  /**\n   * The name of the tag.\n   *\n   * @example v1.0.0\n   */\n  tag_name: string;\n  /**\n   * @format uri\n   */\n  tarball_url: string | null;\n  /**\n   * Specifies the commitish value that determines where the Git tag is created from.\n   *\n   * @example master\n   */\n  target_commitish: string;\n  upload_url: string;\n  /**\n   * @format uri\n   */\n  url: string;\n  /**\n   * @format uri\n   */\n  zipball_url: string | null;\n};\n\n/**\n * Data related to a release.\n */\nexport type ReleaseAsset = {\n  /**\n   * @format uri\n   */\n  browser_download_url: string;\n  content_type: string;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  download_count: number;\n  id: number;\n  label: string | null;\n  /**\n   * The file name of the asset.\n   *\n   * @example Team Environment\n   */\n  name: string;\n  node_id: string;\n  size: number;\n  /**\n   * State of the release asset.\n   */\n  state: 'uploaded' | 'open';\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * Simple User\n   */\n  uploader: SimpleUser;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Repo Search Result Item\n */\nexport type RepoSearchResultItem = {\n  allow_merge_commit?: boolean;\n  allow_rebase_merge?: boolean;\n  allow_squash_merge?: boolean;\n  archive_url: string;\n  archived: boolean;\n  assignees_url: string;\n  blobs_url: string;\n  branches_url: string;\n  clone_url: string;\n  collaborators_url: string;\n  comments_url: string;\n  commits_url: string;\n  compare_url: string;\n  contents_url: string;\n  /**\n   * @format uri\n   */\n  contributors_url: string;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  default_branch: string;\n  delete_branch_on_merge?: boolean;\n  /**\n   * @format uri\n   */\n  deployments_url: string;\n  description: string | null;\n  /**\n   * Returns whether or not this repository disabled.\n   */\n  disabled: boolean;\n  /**\n   * @format uri\n   */\n  downloads_url: string;\n  /**\n   * @format uri\n   */\n  events_url: string;\n  fork: boolean;\n  forks: number;\n  forks_count: number;\n  /**\n   * @format uri\n   */\n  forks_url: string;\n  full_name: string;\n  git_commits_url: string;\n  git_refs_url: string;\n  git_tags_url: string;\n  git_url: string;\n  has_downloads: boolean;\n  has_issues: boolean;\n  has_pages: boolean;\n  has_projects: boolean;\n  has_wiki: boolean;\n  /**\n   * @format uri\n   */\n  homepage: string | null;\n  /**\n   * @format uri\n   */\n  hooks_url: string;\n  /**\n   * @format uri\n   */\n  html_url: string;\n  id: number;\n  issue_comment_url: string;\n  issue_events_url: string;\n  issues_url: string;\n  keys_url: string;\n  labels_url: string;\n  language: string | null;\n  /**\n   * @format uri\n   */\n  languages_url: string;\n  /**\n   * License Simple\n   */\n  license: LicenseSimple;\n  master_branch?: string;\n  /**\n   * @format uri\n   */\n  merges_url: string;\n  milestones_url: string;\n  /**\n   * @format uri\n   */\n  mirror_url: string | null;\n  name: string;\n  node_id: string;\n  notifications_url: string;\n  open_issues: number;\n  open_issues_count: number;\n  /**\n   * Simple User\n   */\n  owner: SimpleUser;\n  permissions?: {\n    admin: boolean;\n    pull: boolean;\n    push: boolean;\n  };\n  private: boolean;\n  pulls_url: string;\n  /**\n   * @format date-time\n   */\n  pushed_at: string;\n  releases_url: string;\n  score: number;\n  size: number;\n  ssh_url: string;\n  stargazers_count: number;\n  /**\n   * @format uri\n   */\n  stargazers_url: string;\n  statuses_url: string;\n  /**\n   * @format uri\n   */\n  subscribers_url: string;\n  /**\n   * @format uri\n   */\n  subscription_url: string;\n  /**\n   * @format uri\n   */\n  svn_url: string;\n  /**\n   * @format uri\n   */\n  tags_url: string;\n  /**\n   * @format uri\n   */\n  teams_url: string;\n  temp_clone_token?: string;\n  text_matches?: SearchResultTextMatches;\n  topics?: string[];\n  trees_url: string;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @format uri\n   */\n  url: string;\n  watchers: number;\n  watchers_count: number;\n};\n\n/**\n * A git repository\n */\nexport type Repository = {\n  /**\n   * Whether to allow merge commits for pull requests.\n   *\n   * @default true\n   * @example true\n   */\n  allow_merge_commit?: boolean;\n  /**\n   * Whether to allow rebase merges for pull requests.\n   *\n   * @default true\n   * @example true\n   */\n  allow_rebase_merge?: boolean;\n  /**\n   * Whether to allow squash merges for pull requests.\n   *\n   * @default true\n   * @example true\n   */\n  allow_squash_merge?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\n   */\n  archive_url: string;\n  /**\n   * Whether the repository is archived.\n   *\n   * @default false\n   */\n  archived: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/assignees{/user}\n   */\n  assignees_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\n   */\n  blobs_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/branches{/branch}\n   */\n  branches_url: string;\n  /**\n   * @example https://github.com/octocat/Hello-World.git\n   */\n  clone_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\n   */\n  collaborators_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/comments{/number}\n   */\n  comments_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/commits{/sha}\n   */\n  commits_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\n   */\n  compare_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/contents/{+path}\n   */\n  contents_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/contributors\n   * @format uri\n   */\n  contributors_url: string;\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  created_at: string | null;\n  /**\n   * The default branch of the repository.\n   *\n   * @example master\n   */\n  default_branch: string;\n  /**\n   * Whether to delete head branches when pull requests are merged\n   *\n   * @default false\n   * @example false\n   */\n  delete_branch_on_merge?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/deployments\n   * @format uri\n   */\n  deployments_url: string;\n  /**\n   * @example This your first repo!\n   */\n  description: string | null;\n  /**\n   * Returns whether or not this repository disabled.\n   */\n  disabled: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/downloads\n   * @format uri\n   */\n  downloads_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/events\n   * @format uri\n   */\n  events_url: string;\n  fork: boolean;\n  forks: number;\n  /**\n   * @example 9\n   */\n  forks_count: number;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/forks\n   * @format uri\n   */\n  forks_url: string;\n  /**\n   * @example octocat/Hello-World\n   */\n  full_name: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\n   */\n  git_commits_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\n   */\n  git_refs_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\n   */\n  git_tags_url: string;\n  /**\n   * @example git:github.com/octocat/Hello-World.git\n   */\n  git_url: string;\n  /**\n   * Whether downloads are enabled.\n   *\n   * @default true\n   * @example true\n   */\n  has_downloads: boolean;\n  /**\n   * Whether issues are enabled.\n   *\n   * @default true\n   * @example true\n   */\n  has_issues: boolean;\n  has_pages: boolean;\n  /**\n   * Whether projects are enabled.\n   *\n   * @default true\n   * @example true\n   */\n  has_projects: boolean;\n  /**\n   * Whether the wiki is enabled.\n   *\n   * @default true\n   * @example true\n   */\n  has_wiki: boolean;\n  /**\n   * @example https://github.com\n   * @format uri\n   */\n  homepage: string | null;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/hooks\n   * @format uri\n   */\n  hooks_url: string;\n  /**\n   * @example https://github.com/octocat/Hello-World\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * Unique identifier of the repository\n   *\n   * @example 42\n   */\n  id: number;\n  /**\n   * Whether this repository acts as a template that can be used to generate new repositories.\n   *\n   * @default false\n   * @example true\n   */\n  is_template?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\n   */\n  issue_comment_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number}\n   */\n  issue_events_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/issues{/number}\n   */\n  issues_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id}\n   */\n  keys_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/labels{/name}\n   */\n  labels_url: string;\n  language: string | null;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/languages\n   * @format uri\n   */\n  languages_url: string;\n  /**\n   * License Simple\n   */\n  license: LicenseSimple;\n  master_branch?: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/merges\n   * @format uri\n   */\n  merges_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/milestones{/number}\n   */\n  milestones_url: string;\n  /**\n   * @example git:git.example.com/octocat/Hello-World\n   * @format uri\n   */\n  mirror_url: string | null;\n  /**\n   * The name of the repository.\n   *\n   * @example Team Environment\n   */\n  name: string;\n  network_count?: number;\n  /**\n   * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5\n   */\n  node_id: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\n   */\n  notifications_url: string;\n  open_issues: number;\n  /**\n   * @example 0\n   */\n  open_issues_count: number;\n  /**\n   * Simple User\n   */\n  owner: SimpleUser;\n  permissions?: {\n    admin: boolean;\n    maintain?: boolean;\n    pull: boolean;\n    push: boolean;\n    triage?: boolean;\n  };\n  /**\n   * Whether the repository is private or public.\n   *\n   * @default false\n   */\n  private: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/pulls{/number}\n   */\n  pulls_url: string;\n  /**\n   * @example \"2011-01-26T19:06:43.000Z\"\n   * @format date-time\n   */\n  pushed_at: string | null;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/releases{/id}\n   */\n  releases_url: string;\n  /**\n   * @example 108\n   */\n  size: number;\n  /**\n   * @example git@github.com:octocat/Hello-World.git\n   */\n  ssh_url: string;\n  /**\n   * @example 80\n   */\n  stargazers_count: number;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/stargazers\n   * @format uri\n   */\n  stargazers_url: string;\n  /**\n   * @example \"2020-07-09T00:17:42Z\"\n   */\n  starred_at?: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha}\n   */\n  statuses_url: string;\n  subscribers_count?: number;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/subscribers\n   * @format uri\n   */\n  subscribers_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/subscription\n   * @format uri\n   */\n  subscription_url: string;\n  /**\n   * @example https://svn.github.com/octocat/Hello-World\n   * @format uri\n   */\n  svn_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/tags\n   * @format uri\n   */\n  tags_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/teams\n   * @format uri\n   */\n  teams_url: string;\n  temp_clone_token?: string;\n  template_repository?: {\n    allow_merge_commit?: boolean;\n    allow_rebase_merge?: boolean;\n    allow_squash_merge?: boolean;\n    archive_url?: string;\n    archived?: boolean;\n    assignees_url?: string;\n    blobs_url?: string;\n    branches_url?: string;\n    clone_url?: string;\n    collaborators_url?: string;\n    comments_url?: string;\n    commits_url?: string;\n    compare_url?: string;\n    contents_url?: string;\n    contributors_url?: string;\n    created_at?: string;\n    default_branch?: string;\n    delete_branch_on_merge?: boolean;\n    deployments_url?: string;\n    description?: string;\n    disabled?: boolean;\n    downloads_url?: string;\n    events_url?: string;\n    fork?: boolean;\n    forks_count?: number;\n    forks_url?: string;\n    full_name?: string;\n    git_commits_url?: string;\n    git_refs_url?: string;\n    git_tags_url?: string;\n    git_url?: string;\n    has_downloads?: boolean;\n    has_issues?: boolean;\n    has_pages?: boolean;\n    has_projects?: boolean;\n    has_wiki?: boolean;\n    homepage?: string;\n    hooks_url?: string;\n    html_url?: string;\n    id?: number;\n    is_template?: boolean;\n    issue_comment_url?: string;\n    issue_events_url?: string;\n    issues_url?: string;\n    keys_url?: string;\n    labels_url?: string;\n    language?: string;\n    languages_url?: string;\n    merges_url?: string;\n    milestones_url?: string;\n    mirror_url?: string;\n    name?: string;\n    network_count?: number;\n    node_id?: string;\n    notifications_url?: string;\n    open_issues_count?: number;\n    owner?: {\n      avatar_url?: string;\n      events_url?: string;\n      followers_url?: string;\n      following_url?: string;\n      gists_url?: string;\n      gravatar_id?: string;\n      html_url?: string;\n      id?: number;\n      login?: string;\n      node_id?: string;\n      organizations_url?: string;\n      received_events_url?: string;\n      repos_url?: string;\n      site_admin?: boolean;\n      starred_url?: string;\n      subscriptions_url?: string;\n      type?: string;\n      url?: string;\n    };\n    permissions?: {\n      admin?: boolean;\n      pull?: boolean;\n      push?: boolean;\n    };\n    private?: boolean;\n    pulls_url?: string;\n    pushed_at?: string;\n    releases_url?: string;\n    size?: number;\n    ssh_url?: string;\n    stargazers_count?: number;\n    stargazers_url?: string;\n    statuses_url?: string;\n    subscribers_count?: number;\n    subscribers_url?: string;\n    subscription_url?: string;\n    svn_url?: string;\n    tags_url?: string;\n    teams_url?: string;\n    temp_clone_token?: string;\n    topics?: string[];\n    trees_url?: string;\n    updated_at?: string;\n    url?: string;\n    visibility?: string;\n    watchers_count?: number;\n  } | null;\n  topics?: string[];\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\n   */\n  trees_url: string;\n  /**\n   * @example \"2011-01-26T19:14:43.000Z\"\n   * @format date-time\n   */\n  updated_at: string | null;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World\n   * @format uri\n   */\n  url: string;\n  /**\n   * The repository visibility: public, private, or internal.\n   *\n   * @default public\n   */\n  visibility?: string;\n  watchers: number;\n  /**\n   * @example 80\n   */\n  watchers_count: number;\n};\n\n/**\n * Repository Collaborator Permission\n */\nexport type RepositoryCollaboratorPermission = {\n  permission: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * Repository invitations let you manage who you collaborate with.\n */\nexport type RepositoryInvitation = {\n  /**\n   * @example \"2016-06-13T19:52:50.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * Whether or not the invitation has expired\n   */\n  expired?: boolean;\n  /**\n   * @example https://github.com/octocat/Hello-World/invitations\n   */\n  html_url: string;\n  /**\n   * Unique identifier of the repository invitation.\n   *\n   * @example 42\n   */\n  id: number;\n  /**\n   * Simple User\n   */\n  invitee: SimpleUser;\n  /**\n   * Simple User\n   */\n  inviter: SimpleUser;\n  node_id: string;\n  /**\n   * The permission associated with the invitation.\n   *\n   * @example read\n   */\n  permissions: 'read' | 'write' | 'admin';\n  repository: MinimalRepository;\n  /**\n   * URL for the repository invitation\n   *\n   * @example https://api.github.com/user/repository-invitations/1\n   */\n  url: string;\n};\n\n/**\n * Repository invitations let you manage who you collaborate with.\n */\nexport type RepositorySubscription = {\n  /**\n   * @example \"2012-10-06T21:34:12.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * Determines if all notifications should be blocked from this repository.\n   */\n  ignored: boolean;\n  reason: string | null;\n  /**\n   * @example https://api.github.com/repos/octocat/example\n   * @format uri\n   */\n  repository_url: string;\n  /**\n   * Determines if notifications should be received from this repository.\n   *\n   * @example true\n   */\n  subscribed: boolean;\n  /**\n   * @example https://api.github.com/repos/octocat/example/subscription\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Legacy Review Comment\n */\nexport type ReviewComment = {\n  _links: {\n    html: Link;\n    pull_request: Link;\n    self: Link;\n  };\n  author_association: AuthorAssociation;\n  /**\n   * @example Great stuff\n   */\n  body: string;\n  body_html?: string;\n  body_text?: string;\n  /**\n   * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e\n   */\n  commit_id: string;\n  /**\n   * @example \"2011-04-14T16:00:49.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example @@ -16,33 +16,40 @@ public class Connection : IConnection...\n   */\n  diff_hunk: string;\n  /**\n   * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example 10\n   */\n  id: number;\n  /**\n   * @example 8\n   */\n  in_reply_to_id?: number;\n  /**\n   * The line of the blob to which the comment applies. The last line of the range for a multi-line comment\n   *\n   * @example 2\n   */\n  line?: number;\n  /**\n   * @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw\n   */\n  node_id: string;\n  /**\n   * @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840\n   */\n  original_commit_id: string;\n  /**\n   * The original line of the blob to which the comment applies. The last line of the range for a multi-line comment\n   *\n   * @example 2\n   */\n  original_line?: number;\n  /**\n   * @example 4\n   */\n  original_position: number;\n  /**\n   * The original first line of the range for a multi-line comment.\n   *\n   * @example 2\n   */\n  original_start_line?: number | null;\n  /**\n   * @example file1.txt\n   */\n  path: string;\n  /**\n   * @example 1\n   */\n  position: number | null;\n  /**\n   * @example 42\n   */\n  pull_request_review_id: number | null;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/1\n   * @format uri\n   */\n  pull_request_url: string;\n  /**\n   * The side of the first line of the range for a multi-line comment.\n   *\n   * @default RIGHT\n   */\n  side?: 'LEFT' | 'RIGHT';\n  /**\n   * The first line of the range for a multi-line comment.\n   *\n   * @example 2\n   */\n  start_line?: number | null;\n  /**\n   * The side of the first line of the range for a multi-line comment.\n   *\n   * @default RIGHT\n   */\n  start_side?: 'LEFT' | 'RIGHT';\n  /**\n   * @example \"2011-04-14T16:00:49.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1\n   * @format uri\n   */\n  url: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * A self hosted runner\n */\nexport type Runner = {\n  busy: boolean;\n  /**\n   * The id of the runner.\n   *\n   * @example 5\n   */\n  id: number;\n  labels: {\n    /**\n     * Unique identifier of the label.\n     */\n    id?: number;\n    /**\n     * Name of the label.\n     */\n    name?: string;\n    /**\n     * The type of label. Read-only labels are applied automatically when the runner is configured.\n     */\n    type?: 'read-only' | 'custom';\n  }[];\n  /**\n   * The name of the runner.\n   *\n   * @example iMac\n   */\n  name: string;\n  /**\n   * The Operating System of the runner.\n   *\n   * @example macos\n   */\n  os: string;\n  /**\n   * The status of the runner.\n   *\n   * @example online\n   */\n  status: string;\n};\n\n/**\n * Runner Application\n */\nexport type RunnerApplication = {\n  architecture: string;\n  download_url: string;\n  filename: string;\n  os: string;\n};\n\nexport type RunnerGroupsEnterprise = {\n  allows_public_repositories: boolean;\n  ['default']: boolean;\n  id: number;\n  name: string;\n  runners_url: string;\n  selected_organizations_url?: string;\n  visibility: string;\n};\n\nexport type RunnerGroupsOrg = {\n  allows_public_repositories: boolean;\n  ['default']: boolean;\n  id: number;\n  inherited: boolean;\n  inherited_allows_public_repositories?: boolean;\n  name: string;\n  runners_url: string;\n  /**\n   * Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected`\n   */\n  selected_repositories_url?: string;\n  visibility: string;\n};\n\nexport type ScimEnterpriseGroup = {\n  displayName?: string;\n  externalId?: string | null;\n  id: string;\n  members?: {\n    $ref?: string;\n    display?: string;\n    value?: string;\n  }[];\n  meta?: {\n    created?: string;\n    lastModified?: string;\n    location?: string;\n    resourceType?: string;\n  };\n  schemas: string[];\n};\n\nexport type ScimEnterpriseUser = {\n  active?: boolean;\n  emails?: {\n    primary?: boolean;\n    type?: string;\n    value?: string;\n  }[];\n  externalId?: string;\n  groups?: {\n    value?: string;\n  }[];\n  id: string;\n  meta?: {\n    created?: string;\n    lastModified?: string;\n    location?: string;\n    resourceType?: string;\n  };\n  name?: {\n    familyName?: string;\n    givenName?: string;\n  };\n  schemas: string[];\n  userName?: string;\n};\n\n/**\n * Scim Error\n */\nexport type ScimError = {\n  detail?: string | null;\n  documentation_url?: string | null;\n  message?: string | null;\n  schemas?: string[];\n  scimType?: string | null;\n  status?: number;\n};\n\nexport type ScimGroupListEnterprise = {\n  Resources: {\n    displayName?: string;\n    externalId?: string | null;\n    id: string;\n    members?: {\n      $ref?: string;\n      display?: string;\n      value?: string;\n    }[];\n    meta?: {\n      created?: string;\n      lastModified?: string;\n      location?: string;\n      resourceType?: string;\n    };\n    schemas: string[];\n  }[];\n  itemsPerPage: number;\n  schemas: string[];\n  startIndex: number;\n  totalResults: number;\n};\n\n/**\n * SCIM /Users provisioning endpoints\n */\nexport type ScimUser = {\n  /**\n   * The active status of the User.\n   *\n   * @example true\n   */\n  active: boolean;\n  /**\n   * The name of the user, suitable for display to end-users\n   *\n   * @example Jon Doe\n   */\n  displayName?: string | null;\n  /**\n   * user emails\n   *\n   * @example {\"primary\":true,\"value\":\"someone@example.com\"}\n   * @example {\"primary\":false,\"value\":\"another@example.com\"}\n   * @minItems 1\n   */\n  emails: {\n    primary?: boolean;\n    value: string;\n  }[];\n  /**\n   * The ID of the User.\n   *\n   * @example a7b0f98395\n   */\n  externalId: string | null;\n  /**\n   * associated groups\n   */\n  groups?: {\n    display?: string;\n    value?: string;\n  }[];\n  /**\n   * Unique identifier of an external identity\n   *\n   * @example 1b78eada-9baa-11e6-9eb6-a431576d590e\n   */\n  id: string;\n  meta: {\n    /**\n     * @example \"2019-01-24T22:45:36.000Z\"\n     * @format date-time\n     */\n    created?: string;\n    /**\n     * @example \"2019-01-24T22:45:36.000Z\"\n     * @format date-time\n     */\n    lastModified?: string;\n    /**\n     * @example https://api.github.com/scim/v2/organizations/myorg-123abc55141bfd8f/Users/c42772b5-2029-11e9-8543-9264a97dec8d\n     * @format uri\n     */\n    location?: string;\n    /**\n     * @example User\n     */\n    resourceType?: string;\n  };\n  /**\n   * @example {\"familyName\":\"User\",\"givenName\":\"Jane\"}\n   */\n  name: {\n    familyName: string | null;\n    formatted?: string | null;\n    givenName: string | null;\n  };\n  /**\n   * Set of operations to be performed\n   *\n   * @example {\"op\":\"replace\",\"value\":{\"active\":false}}\n   * @minItems 1\n   */\n  operations?: {\n    op: 'add' | 'remove' | 'replace';\n    path?: string;\n    value?: string | Record<string, any> | any[];\n  }[];\n  /**\n   * The ID of the organization.\n   */\n  organization_id?: number;\n  /**\n   * SCIM schema used.\n   *\n   * @minItems 1\n   */\n  schemas: string[];\n  /**\n   * Configured by the admin. Could be an email, login, or username\n   *\n   * @example someone@example.com\n   */\n  userName: string | null;\n};\n\n/**\n * SCIM User List\n */\nexport type ScimUserList = {\n  Resources: ScimUser[];\n  /**\n   * @example 10\n   */\n  itemsPerPage: number;\n  /**\n   * SCIM schema used.\n   *\n   * @minItems 1\n   */\n  schemas: string[];\n  /**\n   * @example 1\n   */\n  startIndex: number;\n  /**\n   * @example 3\n   */\n  totalResults: number;\n};\n\nexport type ScimUserListEnterprise = {\n  Resources: {\n    active?: boolean;\n    emails?: {\n      primary?: boolean;\n      type?: string;\n      value?: string;\n    }[];\n    externalId?: string;\n    groups?: {\n      value?: string;\n    }[];\n    id: string;\n    meta?: {\n      created?: string;\n      lastModified?: string;\n      location?: string;\n      resourceType?: string;\n    };\n    name?: {\n      familyName?: string;\n      givenName?: string;\n    };\n    schemas: string[];\n    userName?: string;\n  }[];\n  itemsPerPage: number;\n  schemas: string[];\n  startIndex: number;\n  totalResults: number;\n};\n\nexport type ScopedInstallation = {\n  account: SimpleUser;\n  /**\n   * @example true\n   */\n  has_multiple_single_files?: boolean;\n  permissions: AppPermissions;\n  /**\n   * @example https://api.github.com/users/octocat/repos\n   * @format uri\n   */\n  repositories_url: string;\n  /**\n   * Describe whether all repositories have been selected or there's a selection involved\n   */\n  repository_selection: 'all' | 'selected';\n  /**\n   * @example config.yaml\n   */\n  single_file_name: string | null;\n  /**\n   * @example config.yml\n   * @example .github/issue_TEMPLATE.md\n   */\n  single_file_paths?: string[];\n};\n\nexport type SearchResultTextMatches = {\n  fragment?: string;\n  matches?: {\n    indices?: number[];\n    text?: string;\n  }[];\n  object_type?: string | null;\n  object_url?: string;\n  property?: string;\n}[];\n\nexport type SecretScanningAlert = {\n  created_at?: AlertCreatedAt;\n  html_url?: AlertHtmlUrl;\n  number?: AlertNumber;\n  resolution?: SecretScanningAlertResolution;\n  /**\n   * The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.\n   *\n   * @format date-time\n   */\n  resolved_at?: string | null;\n  resolved_by?: SimpleUser;\n  /**\n   * The secret that was detected.\n   */\n  secret?: string;\n  /**\n   * The type of secret that secret scanning detected.\n   */\n  secret_type?: string;\n  state?: SecretScanningAlertState;\n  url?: AlertUrl;\n};\n\n/**\n * **Required when the `state` is `resolved`.** The reason for resolving the alert. Can be one of `false_positive`, `wont_fix`, `revoked`, or `used_in_tests`.\n */\nexport type SecretScanningAlertResolution =\n  | ('false_positive' | 'wont_fix' | 'revoked' | 'used_in_tests')\n  | any\n  | null;\n\n/**\n * Sets the state of the secret scanning alert. Can be either `open` or `resolved`. You must provide `resolution` when you set the state to `resolved`.\n */\nexport type SecretScanningAlertState = 'open' | 'resolved';\n\nexport type SelectedActions = {\n  /**\n   * Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization.\n   */\n  github_owned_allowed: boolean;\n  /**\n   * Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\"\n   */\n  patterns_allowed: string[];\n  /**\n   * Whether actions in GitHub Marketplace from verified creators are allowed. Set to `true` to allow all GitHub Marketplace actions by verified creators.\n   */\n  verified_allowed: boolean;\n};\n\n/**\n * The API URL to use to get or set the actions that are allowed to run, when `allowed_actions` is set to `selected`.\n */\nexport type SelectedActionsUrl = string;\n\n/**\n * Short Blob\n */\nexport type ShortBlob = {\n  sha: string;\n  url: string;\n};\n\n/**\n * Short Branch\n */\nexport type ShortBranch = {\n  commit: {\n    sha: string;\n    /**\n     * @format uri\n     */\n    url: string;\n  };\n  name: string;\n  protected: boolean;\n  protection?: BranchProtection;\n  /**\n   * @format uri\n   */\n  protection_url?: string;\n};\n\n/**\n * Simple Commit\n */\nexport type SimpleCommit = {\n  author: {\n    email: string;\n    name: string;\n  } | null;\n  committer: {\n    email: string;\n    name: string;\n  } | null;\n  id: string;\n  message: string;\n  /**\n   * @format date-time\n   */\n  timestamp: string;\n  tree_id: string;\n};\n\nexport type SimpleCommitStatus = {\n  /**\n   * @format uri\n   */\n  avatar_url: string | null;\n  context: string;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  description: string | null;\n  id: number;\n  node_id: string;\n  required?: boolean | null;\n  state: string;\n  /**\n   * @format uri\n   */\n  target_url: string;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Simple User\n */\nexport type SimpleUser = {\n  /**\n   * @example https://github.com/images/error/octocat_happy.gif\n   * @format uri\n   */\n  avatar_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/events{/privacy}\n   */\n  events_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/followers\n   * @format uri\n   */\n  followers_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/following{/other_user}\n   */\n  following_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/gists{/gist_id}\n   */\n  gists_url: string;\n  /**\n   * @example 41d064eb2195891e12d0413f63227ea7\n   */\n  gravatar_id: string | null;\n  /**\n   * @example https://github.com/octocat\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @example 1\n   */\n  id: number;\n  /**\n   * @example octocat\n   */\n  login: string;\n  /**\n   * @example MDQ6VXNlcjE=\n   */\n  node_id: string;\n  /**\n   * @example https://api.github.com/users/octocat/orgs\n   * @format uri\n   */\n  organizations_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/received_events\n   * @format uri\n   */\n  received_events_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/repos\n   * @format uri\n   */\n  repos_url: string;\n  site_admin: boolean;\n  /**\n   * @example \"2020-07-09T00:17:55Z\"\n   */\n  starred_at?: string;\n  /**\n   * @example https://api.github.com/users/octocat/starred{/owner}{/repo}\n   */\n  starred_url: string;\n  /**\n   * @example https://api.github.com/users/octocat/subscriptions\n   * @format uri\n   */\n  subscriptions_url: string;\n  /**\n   * @example User\n   */\n  type: string;\n  /**\n   * @example https://api.github.com/users/octocat\n   * @format uri\n   */\n  url: string;\n} | null;\n\n/**\n * Stargazer\n */\nexport type Stargazer = {\n  /**\n   * @format date-time\n   */\n  starred_at: string;\n  /**\n   * Simple User\n   */\n  user: SimpleUser;\n};\n\n/**\n * Starred Repository\n */\nexport type StarredRepository = {\n  repo: Repository;\n  /**\n   * @format date-time\n   */\n  starred_at: string;\n};\n\n/**\n * The status of a commit.\n */\nexport type Status = {\n  avatar_url: string | null;\n  context: string;\n  created_at: string;\n  creator: SimpleUser;\n  description: string;\n  id: number;\n  node_id: string;\n  state: string;\n  target_url: string;\n  updated_at: string;\n  url: string;\n};\n\n/**\n * Status Check Policy\n */\nexport type StatusCheckPolicy = {\n  /**\n   * @example continuous-integration/travis-ci\n   */\n  contexts: string[];\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts\n   * @format uri\n   */\n  contexts_url: string;\n  /**\n   * @example true\n   */\n  strict: boolean;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Tag\n */\nexport type Tag = {\n  commit: {\n    sha: string;\n    /**\n     * @format uri\n     */\n    url: string;\n  };\n  /**\n   * @example v0.1\n   */\n  name: string;\n  node_id: string;\n  /**\n   * @example https://github.com/octocat/Hello-World/tarball/v0.1\n   * @format uri\n   */\n  tarball_url: string;\n  /**\n   * @example https://github.com/octocat/Hello-World/zipball/v0.1\n   * @format uri\n   */\n  zipball_url: string;\n};\n\n/**\n * Groups of organization members that gives permissions on specified repositories.\n */\nexport type Team = {\n  description: string | null;\n  /**\n   * @example https://github.com/orgs/rails/teams/core\n   * @format uri\n   */\n  html_url: string;\n  id: number;\n  members_url: string;\n  name: string;\n  node_id: string;\n  /**\n   * Groups of organization members that gives permissions on specified repositories.\n   */\n  parent?: TeamSimple;\n  permission: string;\n  privacy?: string;\n  /**\n   * @format uri\n   */\n  repositories_url: string;\n  slug: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * A team discussion is a persistent record of a free-form conversation within a team.\n */\nexport type TeamDiscussion = {\n  /**\n   * Simple User\n   */\n  author: SimpleUser;\n  /**\n   * The main text of the discussion.\n   *\n   * @example Please suggest improvements to our workflow in comments.\n   */\n  body: string;\n  /**\n   * @example <p>Hi! This is an area for us to collaborate as a team</p>\n   */\n  body_html: string;\n  /**\n   * The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server.\n   *\n   * @example 0307116bbf7ced493b8d8a346c650b71\n   */\n  body_version: string;\n  /**\n   * @example 0\n   */\n  comments_count: number;\n  /**\n   * @example https://api.github.com/organizations/1/team/2343027/discussions/1/comments\n   * @format uri\n   */\n  comments_url: string;\n  /**\n   * @example \"2018-01-25T18:56:31.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example https://github.com/orgs/github/teams/justice-league/discussions/1\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @format date-time\n   */\n  last_edited_at: string | null;\n  /**\n   * @example MDE0OlRlYW1EaXNjdXNzaW9uMQ==\n   */\n  node_id: string;\n  /**\n   * The unique sequence number of a team discussion.\n   *\n   * @example 42\n   */\n  number: number;\n  /**\n   * Whether or not this discussion should be pinned for easy retrieval.\n   *\n   * @example true\n   */\n  pinned: boolean;\n  /**\n   * Whether or not this discussion should be restricted to team members and organization administrators.\n   *\n   * @example true\n   */\n  private: boolean;\n  reactions?: ReactionRollup;\n  /**\n   * @example https://api.github.com/organizations/1/team/2343027\n   * @format uri\n   */\n  team_url: string;\n  /**\n   * The title of the discussion.\n   *\n   * @example How can we improve our workflow?\n   */\n  title: string;\n  /**\n   * @example \"2018-01-25T18:56:31.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/organizations/1/team/2343027/discussions/1\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * A reply to a discussion within a team.\n */\nexport type TeamDiscussionComment = {\n  /**\n   * Simple User\n   */\n  author: SimpleUser;\n  /**\n   * The main text of the comment.\n   *\n   * @example I agree with this suggestion.\n   */\n  body: string;\n  /**\n   * @example <p>Do you like apples?</p>\n   */\n  body_html: string;\n  /**\n   * The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server.\n   *\n   * @example 0307116bbf7ced493b8d8a346c650b71\n   */\n  body_version: string;\n  /**\n   * @example \"2018-01-15T23:53:58.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example https://api.github.com/organizations/1/team/2403582/discussions/1\n   * @format uri\n   */\n  discussion_url: string;\n  /**\n   * @example https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * @format date-time\n   */\n  last_edited_at: string | null;\n  /**\n   * @example MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE=\n   */\n  node_id: string;\n  /**\n   * The unique sequence number of a team discussion comment.\n   *\n   * @example 42\n   */\n  number: number;\n  reactions?: ReactionRollup;\n  /**\n   * @example \"2018-01-15T23:53:58.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/organizations/1/team/2403582/discussions/1/comments/1\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Groups of organization members that gives permissions on specified repositories.\n */\nexport type TeamFull = {\n  /**\n   * @example \"2017-07-14T16:53:42.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example A great team.\n   */\n  description: string | null;\n  /**\n   * @example https://github.com/orgs/rails/teams/core\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * Unique identifier of the team\n   *\n   * @example 42\n   */\n  id: number;\n  /**\n   * Distinguished Name (DN) that team maps to within LDAP environment\n   *\n   * @example uid=example,ou=users,dc=github,dc=com\n   */\n  ldap_dn?: string;\n  /**\n   * @example 3\n   */\n  members_count: number;\n  /**\n   * @example https://api.github.com/organizations/1/team/1/members{/member}\n   */\n  members_url: string;\n  /**\n   * Name of the team\n   *\n   * @example Developers\n   */\n  name: string;\n  /**\n   * @example MDQ6VGVhbTE=\n   */\n  node_id: string;\n  organization: OrganizationFull;\n  /**\n   * Groups of organization members that gives permissions on specified repositories.\n   */\n  parent?: TeamSimple;\n  /**\n   * Permission that the team will have for its repositories\n   *\n   * @example push\n   */\n  permission: string;\n  /**\n   * The level of privacy this team should have\n   *\n   * @example closed\n   */\n  privacy?: 'closed' | 'secret';\n  /**\n   * @example 10\n   */\n  repos_count: number;\n  /**\n   * @example https://api.github.com/organizations/1/team/1/repos\n   * @format uri\n   */\n  repositories_url: string;\n  /**\n   * @example justice-league\n   */\n  slug: string;\n  /**\n   * @example \"2017-08-17T12:37:15.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * URL for the team\n   *\n   * @example https://api.github.com/organizations/1/team/1\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Team Membership\n */\nexport type TeamMembership = {\n  /**\n   * The role of the user in the team.\n   *\n   * @default member\n   * @example member\n   */\n  role: 'member' | 'maintainer';\n  state: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * A team's access to a project.\n */\nexport type TeamProject = {\n  body: string | null;\n  columns_url: string;\n  created_at: string;\n  creator: SimpleUser;\n  html_url: string;\n  id: number;\n  name: string;\n  node_id: string;\n  number: number;\n  /**\n   * The organization permission for this project. Only present when owner is an organization.\n   */\n  organization_permission?: string;\n  owner_url: string;\n  permissions: {\n    admin: boolean;\n    read: boolean;\n    write: boolean;\n  };\n  /**\n   * Whether the project is private or not. Only present when owner is an organization.\n   */\n  private?: boolean;\n  state: string;\n  updated_at: string;\n  url: string;\n};\n\n/**\n * A team's access to a repository.\n */\nexport type TeamRepository = {\n  /**\n   * Whether to allow merge commits for pull requests.\n   *\n   * @default true\n   * @example true\n   */\n  allow_merge_commit?: boolean;\n  /**\n   * Whether to allow rebase merges for pull requests.\n   *\n   * @default true\n   * @example true\n   */\n  allow_rebase_merge?: boolean;\n  /**\n   * Whether to allow squash merges for pull requests.\n   *\n   * @default true\n   * @example true\n   */\n  allow_squash_merge?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\n   */\n  archive_url: string;\n  /**\n   * Whether the repository is archived.\n   *\n   * @default false\n   */\n  archived: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/assignees{/user}\n   */\n  assignees_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\n   */\n  blobs_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/branches{/branch}\n   */\n  branches_url: string;\n  /**\n   * @example https://github.com/octocat/Hello-World.git\n   */\n  clone_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\n   */\n  collaborators_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/comments{/number}\n   */\n  comments_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/commits{/sha}\n   */\n  commits_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\n   */\n  compare_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/contents/{+path}\n   */\n  contents_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/contributors\n   * @format uri\n   */\n  contributors_url: string;\n  /**\n   * @example \"2011-01-26T19:01:12.000Z\"\n   * @format date-time\n   */\n  created_at: string | null;\n  /**\n   * The default branch of the repository.\n   *\n   * @example master\n   */\n  default_branch: string;\n  /**\n   * Whether to delete head branches when pull requests are merged\n   *\n   * @default false\n   * @example false\n   */\n  delete_branch_on_merge?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/deployments\n   * @format uri\n   */\n  deployments_url: string;\n  /**\n   * @example This your first repo!\n   */\n  description: string | null;\n  /**\n   * Returns whether or not this repository disabled.\n   */\n  disabled: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/downloads\n   * @format uri\n   */\n  downloads_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/events\n   * @format uri\n   */\n  events_url: string;\n  fork: boolean;\n  forks: number;\n  /**\n   * @example 9\n   */\n  forks_count: number;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/forks\n   * @format uri\n   */\n  forks_url: string;\n  /**\n   * @example octocat/Hello-World\n   */\n  full_name: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\n   */\n  git_commits_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\n   */\n  git_refs_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\n   */\n  git_tags_url: string;\n  /**\n   * @example git:github.com/octocat/Hello-World.git\n   */\n  git_url: string;\n  /**\n   * Whether downloads are enabled.\n   *\n   * @default true\n   * @example true\n   */\n  has_downloads: boolean;\n  /**\n   * Whether issues are enabled.\n   *\n   * @default true\n   * @example true\n   */\n  has_issues: boolean;\n  has_pages: boolean;\n  /**\n   * Whether projects are enabled.\n   *\n   * @default true\n   * @example true\n   */\n  has_projects: boolean;\n  /**\n   * Whether the wiki is enabled.\n   *\n   * @default true\n   * @example true\n   */\n  has_wiki: boolean;\n  /**\n   * @example https://github.com\n   * @format uri\n   */\n  homepage: string | null;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/hooks\n   * @format uri\n   */\n  hooks_url: string;\n  /**\n   * @example https://github.com/octocat/Hello-World\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * Unique identifier of the repository\n   *\n   * @example 42\n   */\n  id: number;\n  /**\n   * Whether this repository acts as a template that can be used to generate new repositories.\n   *\n   * @default false\n   * @example true\n   */\n  is_template?: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\n   */\n  issue_comment_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number}\n   */\n  issue_events_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/issues{/number}\n   */\n  issues_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id}\n   */\n  keys_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/labels{/name}\n   */\n  labels_url: string;\n  language: string | null;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/languages\n   * @format uri\n   */\n  languages_url: string;\n  /**\n   * License Simple\n   */\n  license: LicenseSimple;\n  master_branch?: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/merges\n   * @format uri\n   */\n  merges_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/milestones{/number}\n   */\n  milestones_url: string;\n  /**\n   * @example git:git.example.com/octocat/Hello-World\n   * @format uri\n   */\n  mirror_url: string | null;\n  /**\n   * The name of the repository.\n   *\n   * @example Team Environment\n   */\n  name: string;\n  network_count?: number;\n  /**\n   * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5\n   */\n  node_id: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\n   */\n  notifications_url: string;\n  open_issues: number;\n  /**\n   * @example 0\n   */\n  open_issues_count: number;\n  /**\n   * Simple User\n   */\n  owner: SimpleUser;\n  permissions?: {\n    admin: boolean;\n    maintain?: boolean;\n    pull: boolean;\n    push: boolean;\n    triage?: boolean;\n  };\n  /**\n   * Whether the repository is private or public.\n   *\n   * @default false\n   */\n  private: boolean;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/pulls{/number}\n   */\n  pulls_url: string;\n  /**\n   * @example \"2011-01-26T19:06:43.000Z\"\n   * @format date-time\n   */\n  pushed_at: string | null;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/releases{/id}\n   */\n  releases_url: string;\n  /**\n   * @example 108\n   */\n  size: number;\n  /**\n   * @example git@github.com:octocat/Hello-World.git\n   */\n  ssh_url: string;\n  /**\n   * @example 80\n   */\n  stargazers_count: number;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/stargazers\n   * @format uri\n   */\n  stargazers_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha}\n   */\n  statuses_url: string;\n  subscribers_count?: number;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/subscribers\n   * @format uri\n   */\n  subscribers_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/subscription\n   * @format uri\n   */\n  subscription_url: string;\n  /**\n   * @example https://svn.github.com/octocat/Hello-World\n   * @format uri\n   */\n  svn_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/tags\n   * @format uri\n   */\n  tags_url: string;\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/teams\n   * @format uri\n   */\n  teams_url: string;\n  temp_clone_token?: string;\n  /**\n   * A git repository\n   */\n  template_repository?: Repository;\n  topics?: string[];\n  /**\n   * @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\n   */\n  trees_url: string;\n  /**\n   * @example \"2011-01-26T19:14:43.000Z\"\n   * @format date-time\n   */\n  updated_at: string | null;\n  /**\n   * @example https://api.github.com/repos/octocat/Hello-World\n   * @format uri\n   */\n  url: string;\n  /**\n   * The repository visibility: public, private, or internal.\n   *\n   * @default public\n   */\n  visibility?: string;\n  watchers: number;\n  /**\n   * @example 80\n   */\n  watchers_count: number;\n};\n\n/**\n * Groups of organization members that gives permissions on specified repositories.\n */\nexport type TeamSimple = {\n  /**\n   * Description of the team\n   *\n   * @example A great team.\n   */\n  description: string | null;\n  /**\n   * @example https://github.com/orgs/rails/teams/core\n   * @format uri\n   */\n  html_url: string;\n  /**\n   * Unique identifier of the team\n   *\n   * @example 1\n   */\n  id: number;\n  /**\n   * Distinguished Name (DN) that team maps to within LDAP environment\n   *\n   * @example uid=example,ou=users,dc=github,dc=com\n   */\n  ldap_dn?: string;\n  /**\n   * @example https://api.github.com/organizations/1/team/1/members{/member}\n   */\n  members_url: string;\n  /**\n   * Name of the team\n   *\n   * @example Justice League\n   */\n  name: string;\n  /**\n   * @example MDQ6VGVhbTE=\n   */\n  node_id: string;\n  /**\n   * Permission that the team will have for its repositories\n   *\n   * @example admin\n   */\n  permission: string;\n  /**\n   * The level of privacy this team should have\n   *\n   * @example closed\n   */\n  privacy?: string;\n  /**\n   * @example https://api.github.com/organizations/1/team/1/repos\n   * @format uri\n   */\n  repositories_url: string;\n  /**\n   * @example justice-league\n   */\n  slug: string;\n  /**\n   * URL for the team\n   *\n   * @example https://api.github.com/organizations/1/team/1\n   * @format uri\n   */\n  url: string;\n} | null;\n\n/**\n * Thread\n */\nexport type Thread = {\n  id: string;\n  last_read_at: string | null;\n  reason: string;\n  repository: MinimalRepository;\n  subject: {\n    latest_comment_url: string;\n    title: string;\n    type: string;\n    url: string;\n  };\n  /**\n   * @example https://api.github.com/notifications/threads/2/subscription\n   */\n  subscription_url: string;\n  unread: boolean;\n  updated_at: string;\n  url: string;\n};\n\n/**\n * Thread Subscription\n */\nexport type ThreadSubscription = {\n  /**\n   * @example \"2012-10-06T21:34:12.000Z\"\n   * @format date-time\n   */\n  created_at: string | null;\n  ignored: boolean;\n  reason: string | null;\n  /**\n   * @example https://api.github.com/repos/1\n   * @format uri\n   */\n  repository_url?: string;\n  /**\n   * @example true\n   */\n  subscribed: boolean;\n  /**\n   * @example https://api.github.com/notifications/threads/1\n   * @format uri\n   */\n  thread_url?: string;\n  /**\n   * @example https://api.github.com/notifications/threads/1/subscription\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * A topic aggregates entities that are related to a subject.\n */\nexport type Topic = {\n  names: string[];\n};\n\n/**\n * Topic Search Result Item\n */\nexport type TopicSearchResultItem = {\n  aliases?:\n    | {\n        topic_relation?: {\n          id?: number;\n          name?: string;\n          relation_type?: string;\n          topic_id?: number;\n        };\n      }[]\n    | null;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  created_by: string | null;\n  curated: boolean;\n  description: string | null;\n  display_name: string | null;\n  featured: boolean;\n  /**\n   * @format uri\n   */\n  logo_url?: string | null;\n  name: string;\n  related?:\n    | {\n        topic_relation?: {\n          id?: number;\n          name?: string;\n          relation_type?: string;\n          topic_id?: number;\n        };\n      }[]\n    | null;\n  released: string | null;\n  repository_count?: number | null;\n  score: number;\n  short_description: string | null;\n  text_matches?: SearchResultTextMatches;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n};\n\nexport type Traffic = {\n  count: number;\n  /**\n   * @format date-time\n   */\n  timestamp: string;\n  uniques: number;\n};\n\n/**\n * User Marketplace Purchase\n */\nexport type UserMarketplacePurchase = {\n  account: MarketplaceAccount;\n  /**\n   * @example monthly\n   */\n  billing_cycle: string;\n  /**\n   * @example \"2017-11-11T00:00:00.000Z\"\n   * @format date-time\n   */\n  free_trial_ends_on: string | null;\n  /**\n   * @example \"2017-11-11T00:00:00.000Z\"\n   * @format date-time\n   */\n  next_billing_date: string | null;\n  /**\n   * @example true\n   */\n  on_free_trial: boolean;\n  plan: MarketplaceListingPlan;\n  unit_count: number | null;\n  /**\n   * @example \"2017-11-02T01:12:12.000Z\"\n   * @format date-time\n   */\n  updated_at: string | null;\n};\n\n/**\n * User Search Result Item\n */\nexport type UserSearchResultItem = {\n  /**\n   * @format uri\n   */\n  avatar_url: string;\n  bio?: string | null;\n  blog?: string | null;\n  company?: string | null;\n  /**\n   * @format date-time\n   */\n  created_at?: string;\n  /**\n   * @format email\n   */\n  email?: string | null;\n  events_url: string;\n  followers?: number;\n  /**\n   * @format uri\n   */\n  followers_url: string;\n  following?: number;\n  following_url: string;\n  gists_url: string;\n  gravatar_id: string | null;\n  hireable?: boolean | null;\n  /**\n   * @format uri\n   */\n  html_url: string;\n  id: number;\n  location?: string | null;\n  login: string;\n  name?: string | null;\n  node_id: string;\n  /**\n   * @format uri\n   */\n  organizations_url: string;\n  public_gists?: number;\n  public_repos?: number;\n  /**\n   * @format uri\n   */\n  received_events_url: string;\n  /**\n   * @format uri\n   */\n  repos_url: string;\n  score: number;\n  site_admin: boolean;\n  starred_url: string;\n  /**\n   * @format uri\n   */\n  subscriptions_url: string;\n  /**\n   * @format date-time\n   */\n  suspended_at?: string | null;\n  text_matches?: SearchResultTextMatches;\n  type: string;\n  /**\n   * @format date-time\n   */\n  updated_at?: string;\n  /**\n   * @format uri\n   */\n  url: string;\n};\n\n/**\n * Validation Error\n */\nexport type ValidationError = {\n  documentation_url: string;\n  errors?: {\n    code: string;\n    field?: string;\n    index?: number;\n    message?: string;\n    resource?: string;\n    value?: (string | null) | (number | null) | (string[] | null);\n  }[];\n  message: string;\n};\n\n/**\n * Validation Error Simple\n */\nexport type ValidationErrorSimple = {\n  documentation_url: string;\n  errors?: string[];\n  message: string;\n};\n\nexport type Verification = {\n  payload: string | null;\n  reason: string;\n  signature: string | null;\n  verified: boolean;\n};\n\n/**\n * View Traffic\n */\nexport type ViewTraffic = {\n  /**\n   * @example 14850\n   */\n  count: number;\n  /**\n   * @example 3782\n   */\n  uniques: number;\n  views: Traffic[];\n};\n\n/**\n * The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days).\n *\n * @example 30\n */\nexport type WaitTimer = number;\n\n/**\n * Configuration object of the webhook\n */\nexport type WebhookConfig = {\n  content_type?: WebhookConfigContentType;\n  insecure_ssl?: WebhookConfigInsecureSsl;\n  secret?: WebhookConfigSecret;\n  url?: WebhookConfigUrl;\n};\n\n/**\n * The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`.\n *\n * @example \"json\"\n */\nexport type WebhookConfigContentType = string;\n\n/**\n * Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**\n *\n * @example \"0\"\n */\nexport type WebhookConfigInsecureSsl = string;\n\n/**\n * If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers).\n *\n * @example \"********\"\n */\nexport type WebhookConfigSecret = string;\n\n/**\n * The URL to which the payloads will be delivered.\n *\n * @example https://example.com/webhook\n * @format uri\n */\nexport type WebhookConfigUrl = string;\n\n/**\n * A GitHub Actions workflow\n */\nexport type Workflow = {\n  /**\n   * @example https://github.com/actions/setup-ruby/workflows/CI/badge.svg\n   */\n  badge_url: string;\n  /**\n   * @example \"2019-12-06T14:20:20.000Z\"\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example \"2019-12-06T14:20:20.000Z\"\n   * @format date-time\n   */\n  deleted_at?: string;\n  /**\n   * @example https://github.com/actions/setup-ruby/blob/master/.github/workflows/ruby.yaml\n   */\n  html_url: string;\n  /**\n   * @example 5\n   */\n  id: number;\n  /**\n   * @example CI\n   */\n  name: string;\n  /**\n   * @example MDg6V29ya2Zsb3cxMg==\n   */\n  node_id: string;\n  /**\n   * @example ruby.yaml\n   */\n  path: string;\n  /**\n   * @example active\n   */\n  state: 'active' | 'deleted';\n  /**\n   * @example \"2019-12-06T14:20:20.000Z\"\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * @example https://api.github.com/repos/actions/setup-ruby/workflows/5\n   */\n  url: string;\n};\n\n/**\n * An invocation of a workflow\n */\nexport type WorkflowRun = {\n  /**\n   * The URL to the artifacts for the workflow run.\n   *\n   * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts\n   */\n  artifacts_url: string;\n  /**\n   * The URL to cancel the workflow run.\n   *\n   * @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel\n   */\n  cancel_url: string;\n  /**\n   * The URL to the associated check suite.\n   *\n   * @example https://api.github.com/repos/github/hello-world/check-suites/12\n   */\n  check_suite_url: string;\n  /**\n   * @example neutral\n   */\n  conclusion: string | null;\n  /**\n   * @format date-time\n   */\n  created_at: string;\n  /**\n   * @example push\n   */\n  event: string;\n  /**\n   * @example master\n   */\n  head_branch: string | null;\n  head_commit: SimpleCommit;\n  head_repository: MinimalRepository;\n  /**\n   * @example 5\n   */\n  head_repository_id?: number;\n  /**\n   * The SHA of the head commit that points to the version of the worflow being run.\n   *\n   * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d\n   */\n  head_sha: string;\n  /**\n   * @example https://github.com/github/hello-world/suites/4\n   */\n  html_url: string;\n  /**\n   * The ID of the workflow run.\n   *\n   * @example 5\n   */\n  id: number;\n  /**\n   * The URL to the jobs for the workflow run.\n   *\n   * @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs\n   */\n  jobs_url: string;\n  /**\n   * The URL to download the logs for the workflow run.\n   *\n   * @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs\n   */\n  logs_url: string;\n  /**\n   * The name of the workflow run.\n   *\n   * @example Build\n   */\n  name?: string;\n  /**\n   * @example MDEwOkNoZWNrU3VpdGU1\n   */\n  node_id: string;\n  pull_requests: PullRequestMinimal[] | null;\n  repository: MinimalRepository;\n  /**\n   * The URL to rerun the workflow run.\n   *\n   * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun\n   */\n  rerun_url: string;\n  /**\n   * The auto incrementing run number for the workflow run.\n   *\n   * @example 106\n   */\n  run_number: number;\n  /**\n   * @example completed\n   */\n  status: string | null;\n  /**\n   * @format date-time\n   */\n  updated_at: string;\n  /**\n   * The URL to the workflow run.\n   *\n   * @example https://api.github.com/repos/github/hello-world/actions/runs/5\n   */\n  url: string;\n  /**\n   * The ID of the parent workflow.\n   *\n   * @example 5\n   */\n  workflow_id: number;\n  /**\n   * The URL to the workflow.\n   *\n   * @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml\n   */\n  workflow_url: string;\n};\n\n/**\n * Workflow Run Usage\n */\nexport type WorkflowRunUsage = {\n  billable: {\n    MACOS?: {\n      jobs: number;\n      total_ms: number;\n    };\n    UBUNTU?: {\n      jobs: number;\n      total_ms: number;\n    };\n    WINDOWS?: {\n      jobs: number;\n      total_ms: number;\n    };\n  };\n  run_duration_ms: number;\n};\n\n/**\n * Workflow Usage\n */\nexport type WorkflowUsage = {\n  billable: {\n    MACOS?: {\n      total_ms?: number;\n    };\n    UBUNTU?: {\n      total_ms?: number;\n    };\n    WINDOWS?: {\n      total_ms?: number;\n    };\n  };\n};\n"
  },
  {
    "path": "src/hooks/useInfiniteGithubRequest.ts",
    "content": "import { defaultParams } from '@/constants';\nimport { usePullDownRefresh, useReachBottom } from '@tarojs/taro';\nimport { useEffect, useRef, useState } from 'react';\n\ntype InitParamsType = {\n  [x: string]: any;\n};\n\nconst useInfiniteGithubRequest = <\n  T extends any = any,\n  U extends Function = any,\n>(\n  useRequest: U,\n  {\n    pathParams: initPathParams,\n    queryParams: initQueryParams = defaultParams,\n    getItems,\n  }: {\n    pathParams?: InitParamsType;\n    queryParams?: InitParamsType;\n    getItems?: (data: any) => T[];\n  },\n) => {\n  const [queryParams, setQueryParams] = useState({ ...initQueryParams });\n\n  const isMountedRef = useRef(false);\n  const [hasMore, setHasMore] = useState(false);\n  const [data, setData] = useState<T[]>([]);\n\n  // FIXME isLoading 每次加载都为 true\n  const { isError, isLoading, isFetching, refetch } = useRequest(\n    {\n      queryParams,\n      pathParams: initPathParams,\n    },\n    {\n      onSuccess(newData: any) {\n        isMountedRef.current = true;\n\n        if (getItems) {\n          newData = getItems(newData);\n        }\n\n        if (newData?.length >= queryParams.per_page!) {\n          setHasMore(true);\n        }\n        if (queryParams.page! > 1) {\n          setData([...data, ...newData]);\n        } else {\n          setData(newData);\n        }\n      },\n    },\n  );\n\n  useEffect(() => {\n    setQueryParams({ ...initQueryParams });\n  }, [initQueryParams]);\n\n  useReachBottom(() => {\n    if (hasMore) {\n      setQueryParams({ ...queryParams, page: queryParams.page! + 1 });\n    }\n  });\n\n  usePullDownRefresh(() => {\n    setQueryParams({ ...initQueryParams });\n    // refetch();\n  });\n\n  return {\n    data,\n    isFetching,\n    queryParams,\n    hasMore: hasMore && !isError,\n    // 第2页不显示错误\n    isError: isError && !(queryParams.page > 1),\n    isLoading: isLoading && !isMountedRef.current,\n  };\n};\n\nexport default useInfiniteGithubRequest;\n"
  },
  {
    "path": "src/hooks/usePageScrollBackToTop.tsx",
    "content": "import FabButton from '@/components/fab-button';\nimport Taro, { usePageScroll } from '@tarojs/taro';\nimport { useState } from 'react';\n\nconst usePageScrollBackToTop = () => {\n  const [visible, setVisible] = useState(false);\n\n  usePageScroll((res) => {\n    if (res.scrollTop > 400) {\n      setVisible(true);\n    } else {\n      setVisible(false);\n    }\n  });\n\n  return visible ? (\n    <FabButton\n      onClick={() => Taro.pageScrollTo({ scrollTop: 0 })}\n      icon=\"chevron-up\"\n    ></FabButton>\n  ) : null;\n};\n\nexport default usePageScrollBackToTop;\n"
  },
  {
    "path": "src/hooks/usePullDownRefreshEvent.ts",
    "content": "import { getUniqueId } from '@/utils/common';\nimport events from '@/utils/event_bus';\nimport { usePullDownRefresh } from '@tarojs/taro';\nimport { useRef } from 'react';\nimport { PULL_DOWN_REFRESH_EVENT } from '../constants';\n\nfunction usePullDownRefreshEvent() {\n  const pageRef = useRef(getUniqueId());\n  usePullDownRefresh(() => {\n    events.trigger(PULL_DOWN_REFRESH_EVENT, pageRef.current);\n  });\n\n  return null;\n}\n\nexport default usePullDownRefreshEvent;\n"
  },
  {
    "path": "src/hooks/useReachBottomEvent.ts",
    "content": "import { getUniqueId } from '@/utils/common';\nimport events from '@/utils/event_bus';\nimport { useReachBottom } from '@tarojs/taro';\nimport { useRef } from 'react';\nimport { REACH_BOTTOM_EVENT, THROTTLE_DELAY } from '../constants';\n\nfunction useReachBottomEvent() {\n  const pageRef = useRef(getUniqueId());\n  const timerRef = useRef(0);\n\n  useReachBottom(() => {\n    const prev = timerRef.current;\n    const curr = +Date.now();\n    if (!prev || curr - prev > THROTTLE_DELAY) {\n      events.trigger(REACH_BOTTOM_EVENT, pageRef.current);\n      timerRef.current = curr;\n    } else {\n      console.log('wait...');\n    }\n  });\n\n  return null;\n}\n\nexport default useReachBottomEvent;\n"
  },
  {
    "path": "src/hooks/useRequest.ts",
    "content": "import { PULL_DOWN_REFRESH_EVENT } from '@/constants';\nimport events from '@/utils/event_bus';\nimport { usePullDownRefresh } from '@tarojs/taro';\nimport { useEffect, useRef, useState } from 'react';\n\nfunction useRequest<T>(\n  params: any,\n  request: (params: any) => Promise<T | null>,\n): [T | null, () => void] | [] {\n  const [currData, setData] = useState<T | null>(null);\n  const [count, setCount] = useState(0);\n  const pagePullDownRef = useRef('');\n\n  useEffect(() => {\n    request(params).then((data) => {\n      if (data) {\n        setData(data);\n      }\n    });\n  }, [count]);\n\n  usePullDownRefresh(() => {\n    refresh();\n  });\n\n  useEffect(() => {\n    events.on(PULL_DOWN_REFRESH_EVENT, (page: string) => {\n      if (!pagePullDownRef.current) {\n        pagePullDownRef.current = page;\n      } else if (pagePullDownRef.current !== page) {\n        return;\n      }\n      refresh();\n    });\n    return () => {\n      events.off(PULL_DOWN_REFRESH_EVENT);\n    };\n  }, []);\n\n  const refresh = () => {\n    setCount(count + 1);\n  };\n\n  return [currData, refresh];\n}\n\nexport default useRequest;\n"
  },
  {
    "path": "src/hooks/useRequestWIthMore.ts",
    "content": "import events from '@/utils/event_bus';\nimport Taro, { usePullDownRefresh, useReachBottom } from '@tarojs/taro';\nimport { useEffect, useRef, useState } from 'react';\nimport {\n  defaultParams,\n  PULL_DOWN_REFRESH_EVENT,\n  REACH_BOTTOM_EVENT,\n} from '../constants';\n\nfunction useRequestWIthMore<T, S = string>(\n  data: S,\n  request: (data: S, params: any | null) => Promise<T[] | null>,\n): [T[] | null, boolean, () => void, () => void] | [] {\n  const [currData, setData] = useState<T[] | null>(null);\n  const [hasMore, setHasMore] = useState<boolean>(true);\n  const [params, setParams] = useState(defaultParams);\n  // 存储唯一 id 用于匹配消息\n  const pageReachBottomRef = useRef('');\n  const pagePullDownRef = useRef('');\n  const loadingRef = useRef(false);\n\n  useEffect(() => {\n    if (hasMore) {\n      loadingRef.current = true;\n      request(data, params)\n        .then((data) => {\n          if (data) {\n            if (currData) {\n              setData([...currData, ...data]);\n            } else {\n              setData(data);\n            }\n            if (data.length < params.per_page!) {\n              setHasMore(false);\n            }\n          }\n        })\n        .finally(() => {\n          loadingRef.current = false;\n          Taro.stopPullDownRefresh();\n          Taro.hideLoading();\n        });\n    }\n  }, [params]);\n\n  usePullDownRefresh(() => {\n    refresh();\n  });\n\n  useEffect(() => {\n    events.on(REACH_BOTTOM_EVENT, (page: string) => {\n      if (loadingRef.current) {\n        return;\n      }\n      if (!pageReachBottomRef.current) {\n        pageReachBottomRef.current = page;\n      } else if (pageReachBottomRef.current !== page) {\n        return;\n      }\n      getMoreData();\n    });\n    return () => {\n      events.off(REACH_BOTTOM_EVENT);\n    };\n  }, []);\n\n  useEffect(() => {\n    events.on(PULL_DOWN_REFRESH_EVENT, (page: string) => {\n      if (!pagePullDownRef.current) {\n        pagePullDownRef.current = page;\n      } else if (pagePullDownRef.current !== page) {\n        return;\n      }\n      refresh();\n    });\n    return () => {\n      events.off(PULL_DOWN_REFRESH_EVENT);\n    };\n  }, []);\n\n  useReachBottom(() => {\n    if (loadingRef.current) {\n      return;\n    }\n    getMoreData();\n  });\n\n  const getMoreData = () => {\n    setParams((params) => ({ ...params, page: params.page! + 1 }));\n  };\n\n  const refresh = () => {\n    setData(null);\n    setHasMore(true);\n    setParams({ ...params, page: 1 });\n  };\n\n  return [currData, hasMore, refresh, getMoreData];\n}\n\nexport default useRequestWIthMore;\n"
  },
  {
    "path": "src/hooks/useTrending.ts",
    "content": "import { TRENDING_URL } from '@/constants';\nimport { useQuery } from '@tanstack/react-query';\nimport Taro from '@tarojs/taro';\nimport {\n  TrendingDeveloperData,\n  TrendingRepoData,\n  TrendingRequestParams,\n} from 'types/trending';\n\nconst useTrending = ({\n  type = 'repositories',\n  ...params\n}: TrendingRequestParams) => {\n  return useQuery<(TrendingRepoData | TrendingDeveloperData)[]>(\n    ['trending', type, params],\n    () => {\n      // Taro.showLoading({ title: '努力加载中...' });\n      return Taro.request({\n        url: `${TRENDING_URL}/${type}`,\n        data: params,\n        method: 'GET',\n      }).then((rsp) => {\n        Taro.stopPullDownRefresh();\n        Taro.hideLoading();\n        return rsp.data;\n      });\n    },\n    { cacheTime: 60 * 60 * 10 },\n  );\n};\n\nexport default useTrending;\n"
  },
  {
    "path": "src/index.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\">\n  <meta content=\"width=device-width,initial-scale=1,user-scalable=no\" name=\"viewport\">\n  <meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n  <meta name=\"apple-touch-fullscreen\" content=\"yes\">\n  <meta name=\"format-detection\" content=\"telephone=no,address=no\">\n  <meta name=\"apple-mobile-web-app-status-bar-style\" content=\"white\">\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\" >\n  <title>GitHub-Pro</title>\n  <script><%= htmlWebpackPlugin.options.script %></script>\n</head>\n<body>\n  <div id=\"app\"></div>\n</body>\n</html>\n"
  },
  {
    "path": "src/pages/activity/index.module.scss",
    "content": ".wrap {\n  padding: 20px 20px 40px;\n}\n"
  },
  {
    "path": "src/pages/activity/index.tsx",
    "content": "import { View } from '@tarojs/components';\nimport { usePullDownRefresh, useReachBottom, useRouter } from '@tarojs/taro';\nimport ActivityItem from '../../components/activity-item';\nimport Empty from '../../components/empty';\nimport { getUserEvents, IUserReceivedEvent } from '../../services/users';\nimport styles from './index.module.scss';\n\nimport LoadMore from '@/components/load-more';\nimport useRequestWIthMore from '../../hooks/useRequestWIthMore';\n\nconst Activity = () => {\n  const {\n    params: { name },\n  } = useRouter<{ name: string }>();\n\n  const [eventsData, hasMore, refresh, getMoreData] =\n    useRequestWIthMore<IUserReceivedEvent>(name, getUserEvents);\n\n  usePullDownRefresh(() => {\n    refresh!();\n  });\n\n  useReachBottom(() => {\n    getMoreData!();\n  });\n\n  return (\n    <View className={styles.wrap}>\n      {eventsData ? (\n        eventsData.map((item) => {\n          return <ActivityItem item={item} key={item.id}></ActivityItem>;\n        })\n      ) : (\n        <Empty></Empty>\n      )}\n      {eventsData && <LoadMore hasMore={hasMore!}></LoadMore>}\n    </View>\n  );\n};\n\nActivity.config = {\n  navigationBarTitleText: 'Activity',\n};\n\nexport default Activity;\n"
  },
  {
    "path": "src/pages/activity/repo.tsx",
    "content": "import LoadMore from '@/components/load-more';\nimport { getRepoEvents, RepoEvent } from '@/services/repos';\nimport { View } from '@tarojs/components';\nimport Taro, { useRouter } from '@tarojs/taro';\nimport { useEffect } from 'react';\nimport ActivityItem from '../../components/activity-item';\nimport Empty from '../../components/empty';\nimport useRequestWIthMore from '../../hooks/useRequestWIthMore';\nimport { IUserReceivedEvent } from '../../services/users';\nimport styles from './index.module.scss';\n\nconst RepoActivity = () => {\n  const {\n    params: { owner, repo },\n  } = useRouter();\n\n  const full_name = `${owner}/${repo}`;\n\n  const [eventsData, hasMore, refresh] = useRequestWIthMore<RepoEvent, any>(\n    { full_name },\n    getRepoEvents,\n  );\n\n  useEffect(() => {\n    const title = full_name;\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  return (\n    <View className={styles.wrap}>\n      {eventsData ? (\n        eventsData.map((item) => {\n          return (\n            <ActivityItem\n              item={item as IUserReceivedEvent}\n              key={item.id}\n            ></ActivityItem>\n          );\n        })\n      ) : (\n        <Empty></Empty>\n      )}\n      {eventsData && <LoadMore hasMore={hasMore!}></LoadMore>}\n    </View>\n  );\n};\n\nexport default RepoActivity;\n"
  },
  {
    "path": "src/pages/bookmarks/index.module.scss",
    "content": ""
  },
  {
    "path": "src/pages/bookmarks/index.tsx",
    "content": "import { View } from '@tarojs/components';\n\nconst Bookmarks = () => {\n  return <View>Bookmarks</View>;\n};\n\nexport default Bookmarks;\n"
  },
  {
    "path": "src/pages/commits/commit-item/index.module.scss",
    "content": ".wrap {\n  display: flex;\n  margin: 20px;\n  padding: 20px;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n  font-size: 22px;\n  line-height: 1.5;\n}\n.avatar {\n  margin-right: 20px;\n}\n.avatar-img {\n  width: 70px;\n  height: 70px;\n  border-radius: 50%;\n}\n\n.info {\n  flex: 1;\n}\n\n.login {\n  font-size: 28px;\n  color: #40a0fa;\n}\n.create {\n}\n\n.top {\n  display: flex;\n  justify-content: space-between;\n}\n.title {\n  margin: 8px 0 5px 0;\n  font-size: 26px;\n  font-weight: 400;\n}\n\n.bottom {\n  @extend .top;\n}\n\n.number {\n  color: $text-color;\n  font-weight: 400;\n}\n.comments {\n}\n"
  },
  {
    "path": "src/pages/commits/commit-item/index.tsx",
    "content": "import Avatar from '@/components/avatar';\nimport FontIcon from '@/components/font-icon';\nimport { CommitItemData } from '@/services/commits';\nimport { Text, View } from '@tarojs/components';\nimport { ITouchEvent } from '@tarojs/components/types/common';\nimport Taro from '@tarojs/taro';\nimport { getTimeAgo } from '../../../utils/date';\nimport styles from './index.module.scss';\n\ninterface CommitItemProps {\n  commit: CommitItemData;\n  full_name?: string;\n}\nconst CommitItem = ({ commit, full_name = '' }: CommitItemProps) => {\n  if (!commit) {\n    return null;\n  }\n  const {\n    sha,\n    node_id,\n    commit: {\n      committer: { name, email, date },\n      message,\n      tree,\n      comment_count,\n      verification,\n    },\n    url,\n    html_url,\n    comments_url,\n    author,\n    committer: {\n      login,\n      id,\n      avatar_url,\n      gravatar_id,\n      followers_url,\n      following_url,\n      gists_url,\n      starred_url,\n      subscriptions_url,\n      organizations_url,\n      repos_url,\n      events_url,\n      received_events_url,\n      type,\n      site_admin,\n    },\n    parents,\n  } = commit;\n\n  const handleClick = () => {\n    Taro.showToast({ title: 'Developing', icon: 'none' });\n  };\n\n  const handleNavTo = (e: ITouchEvent) => {\n    e.preventDefault();\n    const url = `/pages/developer/index?name=${login}`;\n    Taro.navigateTo({ url });\n  };\n\n  const shortSha = sha.slice(0, 8);\n  return (\n    <View className={styles.wrap} onClick={handleClick}>\n      <Avatar url={avatar_url} username={login}></Avatar>\n      <View className={styles.info}>\n        <View className={styles.top}>\n          <Text className={styles.login} onClick={handleNavTo}>\n            {login}\n          </Text>\n          <Text className={styles.create}>{getTimeAgo(date)}</Text>\n        </View>\n        <View className={styles.title}>{message}</View>\n        <View className={styles.bottom}>\n          <Text className={styles.number}>{shortSha}</Text>\n          <View className={styles.comments}>\n            <FontIcon\n              value=\"comment\"\n              styleProps={{ fontSize: '15px', marginRight: '5px' }}\n            ></FontIcon>\n            <Text>{comment_count}</Text>\n          </View>\n        </View>\n      </View>\n    </View>\n  );\n};\n\nexport default CommitItem;\n"
  },
  {
    "path": "src/pages/commits/index.module.scss",
    "content": ""
  },
  {
    "path": "src/pages/commits/index.tsx",
    "content": "import Empty from '@/components/empty';\nimport LoadMore from '@/components/load-more';\nimport SkeletonCard from '@/components/skeleton-card';\nimport { useReposListCommits } from '@/github/githubComponents';\nimport useInfiniteGithubRequest from '@/hooks/useInfiniteGithubRequest';\nimport { Block } from '@tarojs/components';\nimport Taro, { useRouter } from '@tarojs/taro';\nimport { useEffect } from 'react';\nimport CommitItem from './commit-item';\n\nconst Commits = () => {\n  const {\n    params: { owner, repo },\n  } = useRouter();\n  const full_name = `${owner}/${repo}`;\n\n  const {\n    data: commitList,\n    hasMore,\n    isError,\n    isLoading,\n  } = useInfiniteGithubRequest(useReposListCommits, {\n    pathParams: { owner, repo },\n  });\n\n  useEffect(() => {\n    const title = full_name;\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  return (\n    <SkeletonCard isLoading={isLoading} isError={isError}>\n      {commitList ? (\n        <Block>\n          {commitList.map((item) => {\n            return <CommitItem commit={item} key={item.node_id}></CommitItem>;\n          })}\n          <LoadMore hasMore={!!hasMore}></LoadMore>\n        </Block>\n      ) : (\n        <Empty></Empty>\n      )}\n    </SkeletonCard>\n  );\n};\n\nexport default Commits;\n"
  },
  {
    "path": "src/pages/developer/followers/index.module.scss",
    "content": ""
  },
  {
    "path": "src/pages/developer/followers/index.tsx",
    "content": "import UserItem from '@/components/user-item';\nimport useRequestWIthMore from '@/hooks/useRequestWIthMore';\nimport { getUserFollowers } from '@/services/users';\nimport Taro, { useReachBottom, useRouter } from '@tarojs/taro';\nimport { useEffect } from 'react';\n\nconst Followers = () => {\n  const {\n    params: { name },\n  } = useRouter();\n\n  const [data, hasMore, refresh, getMore] = useRequestWIthMore<any, any>(\n    name,\n    getUserFollowers,\n  );\n\n  useEffect(() => {\n    const title = `${name} - Followers`;\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  useReachBottom(() => {\n    getMore!();\n  });\n\n  return <UserItem data={data} hasMore={hasMore}></UserItem>;\n};\n\nexport default Followers;\n"
  },
  {
    "path": "src/pages/developer/following/index.module.scss",
    "content": ""
  },
  {
    "path": "src/pages/developer/following/index.tsx",
    "content": "import UserItem from '@/components/user-item';\nimport useRequestWIthMore from '@/hooks/useRequestWIthMore';\nimport { getUserFollowing } from '@/services/users';\nimport Taro, { useReachBottom, useRouter } from '@tarojs/taro';\nimport { useEffect } from 'react';\n\nconst Following = () => {\n  const {\n    params: { name },\n  } = useRouter();\n\n  const [data, hasMore, refresh, getMore] = useRequestWIthMore<any, any>(\n    name,\n    getUserFollowing,\n  );\n\n  useEffect(() => {\n    const title = `${name} - Following`;\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  useReachBottom(() => {\n    getMore!();\n  });\n\n  return <UserItem data={data} hasMore={hasMore}></UserItem>;\n};\n\nexport default Following;\n"
  },
  {
    "path": "src/pages/developer/index.module.scss",
    "content": ".wrap {\n  padding: 10px 20px 80px;\n}\n\n.header {\n  padding: 20px 10px 10px;\n  display: flex;\n  align-items: center;\n}\n\n.avatar {\n  width: 120px;\n  height: 120px;\n  border-radius: 50%;\n  margin-right: 20px;\n}\n\n.basic {\n  margin-right: auto;\n  font-size: 25px;\n}\n.name {\n  font-size: 30px;\n  font-weight: 600;\n}\n\n.bio {\n  margin: 10px 10px 10px 15px;\n}\n\n.action-btn {\n  display: flex;\n  justify-content: space-around;\n  padding: 40px 80px 0;\n}\n\n.btn {\n  padding: 0 40px;\n  font-size: 32px;\n  font-weight: 700;\n  text-transform: capitalize;\n}\n\n.info {\n  margin-top: 30px;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: rgba(255, 255, 255, 0.9);\n}\n\n.meta {\n  padding: 20px 10px;\n}\n\n.nav {\n  display: flex;\n  justify-content: space-around;\n  align-items: center;\n}\n\n.nav-item {\n  flex: 1;\n  text-align: center;\n}\n\n.item-count {\n  color: rgb(43, 43, 43);\n  font-weight: 600;\n  font-size: 35px;\n}\n\n.item-label {\n  font-weight: 400;\n  font-size: 28px;\n  text-transform: capitalize;\n}\n\n.info-list-item {\n  .at-list__item-extra {\n    width: auto;\n  }\n  .item-extra__info {\n    color: rgb(43, 43, 43);\n  }\n  .item-extra__icon-arrow {\n    color: rgb(43, 43, 43);\n  }\n}\n"
  },
  {
    "path": "src/pages/developer/index.tsx",
    "content": "import SkeletonCard from '@/components/skeleton-card';\nimport UserInfo from '@/components/user-info';\nimport {\n  useUsersCheckPersonIsFollowedByAuthenticated,\n  useUsersFollow,\n  useUsersGetByUsername,\n  useUsersUnfollow,\n} from '@/github/githubComponents';\nimport { Block } from '@tarojs/components';\nimport Taro, { useRouter, useShareAppMessage } from '@tarojs/taro';\nimport { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nconst Developer = () => {\n  const {\n    params: { name },\n  } = useRouter<{ name: string }>();\n  const username = useSelector<any, any>((state) => state.user.username);\n\n  const {\n    data: userInfo,\n    isError,\n    isLoading,\n  } = useUsersGetByUsername({\n    pathParams: { username: name },\n  });\n\n  const [isFollowing, setIsFollowing] = useState(false);\n\n  useUsersCheckPersonIsFollowedByAuthenticated(\n    {\n      pathParams: { username: name },\n    },\n    {\n      enabled: !!username,\n      onSuccess(data) {\n        const isFollowing = !data && data !== null;\n        setIsFollowing(isFollowing);\n      },\n    },\n  );\n\n  const { mutateAsync: unFollow } = useUsersUnfollow();\n\n  const { mutateAsync: updateFollow } = useUsersFollow();\n\n  useEffect(() => {\n    const title = `Developer`;\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  const handleFollowBtnClick = () => {\n    if (isFollowing) {\n      unFollow({ pathParams: { username: name } }).then((data) => {\n        if (!data && data !== null) {\n          setIsFollowing(false);\n        }\n      });\n    } else {\n      updateFollow({ pathParams: { username: name } }).then((data) => {\n        if (!data && data !== null) {\n          setIsFollowing(true);\n        }\n      });\n    }\n  };\n\n  useShareAppMessage((res) => {\n    const title = `[${userInfo!.login}] ${userInfo!.bio}`;\n\n    return {\n      title,\n      path: `/pages/developer/index?name=${name}`,\n    };\n  });\n\n  return (\n    <Block>\n      <SkeletonCard isError={isError} isLoading={isLoading}>\n        <UserInfo\n          userInfo={userInfo}\n          isCurrent={false}\n          isFollowing={isFollowing}\n          onFollowClick={handleFollowBtnClick}\n        ></UserInfo>\n      </SkeletonCard>\n    </Block>\n  );\n};\n\nexport default Developer;\n"
  },
  {
    "path": "src/pages/developer/repos/index.module.scss",
    "content": ""
  },
  {
    "path": "src/pages/developer/repos/index.tsx",
    "content": "import Empty from '@/components/empty';\nimport LoadMore from '@/components/load-more';\nimport RepoItem from '@/components/repo-item';\nimport useRequestWIthMore from '@/hooks/useRequestWIthMore';\nimport { getCurrentUserRepos } from '@/services/user';\nimport { getUserRepos } from '@/services/users';\nimport { View } from '@tarojs/components';\nimport Taro, { useReachBottom, useRouter } from '@tarojs/taro';\nimport { useEffect } from 'react';\n\nconst RepoList = () => {\n  const {\n    params: { name, isCurrent },\n  } = useRouter();\n\n  // can't use if..else..\n  const funcMap = {\n    true: getCurrentUserRepos,\n    false: getUserRepos,\n  };\n\n  let func = funcMap[isCurrent];\n\n  const [repoList, hasMore, refresh, getMoreData] = useRequestWIthMore<any>(\n    name,\n    func,\n  );\n\n  useEffect(() => {\n    const title = `${name} - Repositories`;\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  useReachBottom(() => {\n    getMoreData!();\n  });\n\n  return (\n    <View>\n      <View>\n        {repoList ? (\n          repoList.map((item, idx) => {\n            return <RepoItem key={item.id} repo={item}></RepoItem>;\n          })\n        ) : (\n          <Empty></Empty>\n        )}\n      </View>\n      {repoList && <LoadMore hasMore={hasMore!}></LoadMore>}\n    </View>\n  );\n};\n\nexport default RepoList;\n"
  },
  {
    "path": "src/pages/developer/starred/index.module.scss",
    "content": ""
  },
  {
    "path": "src/pages/developer/starred/index.tsx",
    "content": "import Empty from '@/components/empty';\nimport LoadMore from '@/components/load-more';\nimport RepoItem from '@/components/repo-item';\nimport useRequestWIthMore from '@/hooks/useRequestWIthMore';\nimport { IStarred } from '@/services/user';\nimport { getUserStarred } from '@/services/users';\nimport { View } from '@tarojs/components';\nimport Taro, { useReachBottom, useRouter } from '@tarojs/taro';\nimport { useEffect } from 'react';\n\nconst StarredRepoList = () => {\n  const {\n    params: { name },\n  } = useRouter();\n\n  const [starredRepos, hasMore, refresh, getMoreData] =\n    useRequestWIthMore<IStarred>(name, getUserStarred);\n\n  useEffect(() => {\n    const title = `${name} - Starred`;\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  useReachBottom(() => {\n    getMoreData!();\n  });\n\n  return (\n    <View>\n      <View>\n        {starredRepos ? (\n          starredRepos.map((item, idx) => {\n            return <RepoItem key={item.id} repo={item}></RepoItem>;\n          })\n        ) : (\n          <Empty></Empty>\n        )}\n      </View>\n      {starredRepos && <LoadMore hasMore={hasMore!}></LoadMore>}\n    </View>\n  );\n};\n\nexport default StarredRepoList;\n"
  },
  {
    "path": "src/pages/issues/comment-item/index.module.scss",
    "content": ".wrap {\n  margin-top: 40px;\n  padding: 20px;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n}\n"
  },
  {
    "path": "src/pages/issues/comment-item/index.tsx",
    "content": "import Author from '@/components/author';\nimport Markdown from '@/components/markdown';\nimport { View } from '@tarojs/components';\nimport { memo } from 'react';\nimport styles from './index.module.scss';\n\nconst CommentItem = ({ comment, full_name }) => {\n  if (!comment) {\n    return null;\n  }\n  const {\n    url,\n    html_url,\n    issue_url,\n    id,\n    node_id,\n    user: {\n      login,\n      avatar_url,\n      gravatar_id,\n      followers_url,\n      following_url,\n      gists_url,\n      starred_url,\n      subscriptions_url,\n      organizations_url,\n      repos_url,\n      events_url,\n      received_events_url,\n      type,\n      site_admin,\n    },\n    created_at,\n    updated_at,\n    author_association,\n    body,\n  } = comment;\n\n  return (\n    <View className={styles.wrap}>\n      <View className={styles.author}>\n        <Author url={avatar_url} login={login} created_at={created_at}></Author>\n      </View>\n      <View className={styles.content}>\n        <Markdown md={body} full_name={full_name}></Markdown>\n      </View>\n    </View>\n  );\n};\n\nconst areEqual = (prevProps: any, props: any) => {\n  return prevProps && prevProps.comment.id === props.comment.id;\n};\n\nexport default memo(CommentItem, areEqual);\n"
  },
  {
    "path": "src/pages/issues/create-comment/index.module.scss",
    "content": ".wrap {\n  margin: 40px;\n}\n\n.content {\n  margin-top: 20px;\n  border: 1px solid #ccc;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n}\n.confirm {\n  margin-top: 20px;\n}\n"
  },
  {
    "path": "src/pages/issues/create-comment/index.tsx",
    "content": "import { showLoginTips } from '@/utils/common';\nimport { View } from '@tarojs/components';\nimport Taro, { useRouter } from '@tarojs/taro';\nimport { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { AtButton, AtTextarea } from 'taro-ui';\nimport { createIssueComment } from '../../../services/issues';\nimport styles from './index.module.scss';\n\nconst CreateComment = () => {\n  const {\n    params: { full_name, number },\n  } = useRouter();\n  if (!full_name) {\n    return;\n  }\n\n  const username = useSelector<any, any>((state) => state.user.username);\n  if (!username) {\n    showLoginTips();\n  }\n\n  const [content, setContent] = useState('');\n\n  useEffect(() => {\n    const title = full_name;\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n  const handleTextareaChange = (ev) => {\n    setContent(ev.target.value);\n  };\n  const handleConfirm = () => {\n    const data = {\n      body: content,\n    };\n\n    createIssueComment({ full_name, number }, data).then((res) => {\n      if (res && res.body === content) {\n        Taro.showToast({ title: 'Success', icon: 'success' });\n        setTimeout(() => {\n          Taro.navigateBack();\n        }, 1000);\n      }\n    });\n  };\n\n  return (\n    <View className={styles.wrap}>\n      <View className={styles.content}>\n        <AtTextarea\n          height={400}\n          count={false}\n          maxLength={10000}\n          value={content}\n          onChange={handleTextareaChange}\n          placeholder=\"Leave a comment\"\n        />\n      </View>\n      <AtButton\n        className={styles.confirm}\n        type=\"primary\"\n        onClick={handleConfirm}\n      >\n        Comment\n      </AtButton>\n    </View>\n  );\n};\n\nexport default CreateComment;\n"
  },
  {
    "path": "src/pages/issues/create-issue/index.module.scss",
    "content": ".wrap {\n  margin: 40px;\n}\n.title {\n  margin-top: 20px;\n  border: 1px solid #ccc;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n}\n.content {\n  @extend .title;\n}\n.confirm {\n  margin-top: 20px;\n}\n"
  },
  {
    "path": "src/pages/issues/create-issue/index.tsx",
    "content": "import { View } from '@tarojs/components';\nimport Taro, { useRouter } from '@tarojs/taro';\nimport { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { AtButton, AtInput, AtTextarea } from 'taro-ui';\nimport { createIssue } from '../../../services/issues';\nimport { showLoginTips } from '../../../utils/common';\nimport styles from './index.module.scss';\n\nconst CreateIssue = () => {\n  const {\n    params: { full_name },\n  } = useRouter();\n  if (!full_name) {\n    return;\n  }\n\n  const username = useSelector<any, any>((state) => state.user.username);\n  if (!username) {\n    showLoginTips();\n  }\n\n  const [title, setTitle] = useState('');\n  const [content, setContent] = useState('');\n\n  useEffect(() => {\n    const title = full_name;\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  const handleChange = (val: string) => {\n    setTitle(val);\n  };\n  const handleTextareaChange = (ev) => {\n    setContent(ev.target.value);\n  };\n  const handleConfirm = () => {\n    const data = {\n      title: title,\n      body: content,\n    };\n    createIssue({ full_name }, data).then((data) => {\n      if (data && data.title === title) {\n        Taro.showToast({ title: 'Success', icon: 'success' });\n        setTimeout(() => {\n          Taro.navigateBack();\n        }, 1000);\n      }\n    });\n  };\n\n  // TODO add preview\n  return (\n    <View className={styles.wrap}>\n      <View className={styles.title}>\n        <AtInput\n          name=\"title\"\n          title=\"\"\n          type=\"text\"\n          placeholder=\"Title\"\n          value={title}\n          border={false}\n          onChange={handleChange}\n        />\n      </View>\n      <View className={styles.content}>\n        <AtTextarea\n          height={400}\n          count={false}\n          maxLength={10000}\n          value={content}\n          onChange={handleTextareaChange}\n          placeholder=\"Leave a comment\"\n        />\n      </View>\n      <AtButton\n        className={styles.confirm}\n        type=\"primary\"\n        onClick={handleConfirm}\n      >\n        Submit new issue\n      </AtButton>\n    </View>\n  );\n};\n\nexport default CreateIssue;\n"
  },
  {
    "path": "src/pages/issues/index.module.scss",
    "content": ""
  },
  {
    "path": "src/pages/issues/index.tsx",
    "content": "import Empty from '@/components/empty';\nimport FabButton from '@/components/fab-button';\nimport { Block, View } from '@tarojs/components';\nimport Taro, {\n  usePullDownRefresh,\n  useReachBottom,\n  useRouter,\n} from '@tarojs/taro';\nimport { useEffect, useState } from 'react';\nimport { AtTabs, AtTabsPane } from 'taro-ui';\nimport LoadMore from '../../components/load-more/index';\nimport { issueDefaultParams } from '../../constants';\nimport { getIssues, Issue } from '../../services/issues';\nimport IssueItem from './issue-item';\n\nconst Issues = () => {\n  const {\n    params: { full_name: _full_name, owner, repo },\n  } = useRouter();\n  const full_name = _full_name || `${owner}/${repo}`;\n\n  const [count, setCount] = useState(0);\n  const [curTab, setTab] = useState(0);\n  const [openHasMore, setOpenHasMore] = useState(true);\n  const [closedHasMore, setClosedHasMore] = useState(true);\n  const [openList, setOpenList] = useState<Issue[] | null>(null);\n  const [closedList, setClosedtList] = useState<Issue[] | null>(null);\n\n  useEffect(() => {\n    const title = full_name;\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  const [openParams, setOpenParams] = useState({\n    ...issueDefaultParams,\n    filter: 'all',\n    state: 'open',\n  });\n  const [closedParams, setClosedParams] = useState({\n    ...issueDefaultParams,\n    filter: 'all',\n    state: 'closed',\n  });\n\n  usePullDownRefresh(() => {\n    setOpenParams({ ...openParams, page: 1 });\n    setClosedParams({ ...closedParams, page: 1 });\n    setClosedHasMore(true);\n    setOpenHasMore(true);\n    setCount(count + 1);\n  });\n\n  useReachBottom(() => {\n    if (curTab === 0) {\n      setOpenParams({ ...openParams, page: openParams.page! + 1 });\n    } else {\n      setClosedParams({ ...closedParams, page: closedParams.page! + 1 });\n    }\n  });\n\n  const getClosedIssues = (params) => {\n    getIssues(full_name, params).then((data) => {\n      if (data) {\n        if (closedList) {\n          setClosedtList([...closedList, ...data]);\n        } else {\n          setClosedtList(data);\n        }\n        if (data.length < params.per_page) {\n          setClosedHasMore(false);\n        }\n      }\n    });\n  };\n\n  useEffect(() => {\n    if (openHasMore) {\n      getIssues(full_name, openParams).then((data) => {\n        if (data) {\n          if (openList) {\n            setOpenList([...openList, ...data]);\n          } else {\n            setOpenList(data);\n          }\n\n          if (data.length < openParams.per_page!) {\n            setOpenHasMore(false);\n          }\n        }\n      });\n    }\n  }, [openParams, count]);\n\n  useEffect(() => {\n    if (openList && closedHasMore) {\n      getClosedIssues(closedParams);\n    }\n  }, [closedParams, count]);\n\n  useEffect(() => {\n    if (!closedList && curTab === 1) {\n      getClosedIssues(closedParams);\n    }\n  }, [curTab]);\n\n  const tabList = [\n    { title: 'open', data: openList, hasMore: openHasMore },\n    { title: 'closed', data: closedList, hasMore: closedHasMore },\n  ];\n\n  const handleTabClick = (val) => {\n    setTab(val);\n  };\n\n  const handleFaBtnClick = () => {\n    Taro.navigateTo({\n      url: `/pages/issues/create-issue/index?full_name=${full_name}`,\n    });\n  };\n  // TODO use scrollView\n\n  return (\n    <View>\n      <AtTabs current={curTab} tabList={tabList} onClick={handleTabClick}>\n        {tabList.map((tab, idx) => {\n          const data = tab.data;\n          return (\n            <AtTabsPane key={tab.title} current={curTab} index={idx}>\n              <View>\n                {data ? (\n                  <Block>\n                    {data.map((item) => {\n                      return (\n                        <IssueItem\n                          key={item.id}\n                          full_name={full_name}\n                          issue={item}\n                        ></IssueItem>\n                      );\n                    })}\n                    <LoadMore hasMore={tab.hasMore}></LoadMore>\n                  </Block>\n                ) : (\n                  <Empty></Empty>\n                )}\n              </View>\n            </AtTabsPane>\n          );\n        })}\n      </AtTabs>\n      <FabButton icon=\"add\" onClick={handleFaBtnClick}></FabButton>\n    </View>\n  );\n};\n\nexport default Issues;\n"
  },
  {
    "path": "src/pages/issues/issue-detail/index.module.scss",
    "content": ".wrap {\n  padding: 20px 20px 40px;\n  height: 100vh;\n  background: $itemBg;\n}\n.header {\n}\n.meta {\n  font-size: 28px;\n  font-weight: 400;\n}\n\n.title {\n  font-size: 32px;\n}\n.content {\n  padding-top: 20px;\n}\n\n.author {\n  display: flex;\n}\n\n.avatar {\n}\n.avatar-img {\n  width: 80px;\n  height: 80px;\n  margin: 0 20px;\n  border-radius: 50%;\n}\n.author {\n  color: #40a0fa;\n  font-size: 32px;\n  font-weight: 400;\n}\n.create-at {\n  margin-left: auto;\n  font-size: 25px;\n}\n.body {\n}\n.comment-list {\n}\n"
  },
  {
    "path": "src/pages/issues/issue-detail/index.tsx",
    "content": "import Author from '@/components/author';\nimport Empty from '@/components/empty';\nimport FabButton from '@/components/fab-button';\nimport LoadMore from '@/components/load-more';\nimport Markdown from '@/components/markdown';\nimport useRequestWIthMore from '@/hooks/useRequestWIthMore';\nimport {\n  getIssueComments,\n  getIssueDetail,\n  Issue,\n  IssueComment,\n} from '@/services/issues';\nimport { CLEAR_ISSUE_INFO } from '@/store/constatnts';\nimport { View } from '@tarojs/components';\nimport Taro, { usePullDownRefresh, useRouter } from '@tarojs/taro';\nimport { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport CommentItem from '../comment-item';\nimport styles from './index.module.scss';\n\nconst IssueDetail = () => {\n  const {\n    params: { full_name, number },\n  } = useRouter();\n\n  const issue = useSelector<any, any>((state) => state.issue.info);\n\n  const [issueData, setIssue] = useState(issue);\n\n  const [commentList, hasMore, refresh] = useRequestWIthMore<\n    IssueComment | null,\n    any\n  >({ full_name, number }, getIssueComments);\n\n  const dispatch = useDispatch();\n\n  useEffect(() => {\n    const title = full_name;\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  useEffect(() => {\n    return () => {\n      dispatch({ type: CLEAR_ISSUE_INFO });\n    };\n  }, []);\n\n  useEffect(() => {\n    if (!issueData) {\n      getIssueDetail({ full_name, number }).then((resData) => {\n        if (resData) {\n          setIssue(resData);\n        }\n      });\n    }\n  }, []);\n\n  usePullDownRefresh(() => {\n    refresh!();\n  });\n\n  const handleFabBtnClick = () => {\n    Taro.navigateTo({\n      url: `/pages/issues/create-comment/index?full_name=${full_name}&number=${number}`,\n    });\n  };\n\n  const {\n    url,\n    repository_url,\n    labels_url,\n    comments_url,\n    events_url,\n    html_url,\n    id,\n    node_id,\n    title,\n    user,\n    labels,\n    state,\n    locked,\n    assignee,\n    assignees,\n    milestone,\n    comments,\n    created_at,\n    updated_at,\n    closed_at,\n    author_association,\n    body,\n    pull_request,\n  } = (issueData as Issue) || {};\n\n  const { login, avatar_url, gravatar_id, type, site_admin } = user || {};\n\n  if (!login) {\n    return <Empty></Empty>;\n  }\n\n  return (\n    <View className={styles.wrap}>\n      <View className={styles.header}>\n        <View className={styles.title}>{title}</View>\n        <View className={styles.meta}>\n          #{number} {state} {comments} comments\n        </View>\n      </View>\n      <View className={styles.content}>\n        <Author url={avatar_url} login={login} created_at={created_at}></Author>\n        <View className={styles.body}>\n          <Markdown md={body} full_name={full_name}></Markdown>\n        </View>\n      </View>\n\n      {commentList ? (\n        <View className={styles['comment-list']}>\n          {commentList.map((item, idx) => {\n            return (\n              <CommentItem\n                key={item!.id}\n                comment={item}\n                full_name={full_name}\n              ></CommentItem>\n            );\n          })}\n        </View>\n      ) : (\n        <LoadMore hasMore={!!hasMore}></LoadMore>\n      )}\n      <FabButton icon=\"add\" onClick={handleFabBtnClick}></FabButton>\n    </View>\n  );\n};\n\nexport default IssueDetail;\n"
  },
  {
    "path": "src/pages/issues/issue-item/index.module.scss",
    "content": ".wrap {\n  display: flex;\n  margin: 20px;\n  padding: 20px;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n  font-size: 22px;\n  line-height: 1.5;\n}\n.avatar {\n  margin-right: 20px;\n}\n.avatar-img {\n  width: 70px;\n  height: 70px;\n  border-radius: 50%;\n}\n\n.info {\n  flex: 1;\n}\n\n.login {\n  font-size: 28px;\n  color: #40a0fa;\n}\n.create {\n}\n\n.top {\n  display: flex;\n  justify-content: space-between;\n}\n.title {\n  margin: 8px 0 5px 0;\n  font-size: 26px;\n  font-weight: 400;\n}\n\n.bottom {\n  align-items: center;\n  @extend .top;\n}\n\n.number {\n  display: inline-block;\n}\n.comments {\n  display: flex;\n  align-items: center;\n}\n"
  },
  {
    "path": "src/pages/issues/issue-item/index.tsx",
    "content": "import Avatar from '@/components/avatar';\nimport FontIcon from '@/components/font-icon';\nimport { Issue } from '@/services/issues';\nimport { Text, View } from '@tarojs/components';\nimport Taro from '@tarojs/taro';\nimport { memo } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { UPDATE_ISSUE_INFO } from '../../../store/constatnts';\nimport { getTimeAgo } from '../../../utils/date';\nimport styles from './index.module.scss';\n\ninterface IssueItemProps {\n  issue: Issue;\n  full_name?: string;\n}\nconst IssueItem = ({ issue, full_name: _full_name }: IssueItemProps) => {\n  if (!issue) {\n    return null;\n  }\n\n  const dispatch = useDispatch();\n\n  const {\n    url,\n    repository_url,\n    labels_url,\n    comments_url,\n    events_url,\n    html_url,\n    id,\n    node_id,\n    number,\n    title,\n    user: {\n      login,\n      avatar_url,\n      gravatar_id,\n      followers_url,\n      following_url,\n      gists_url,\n      starred_url,\n      subscriptions_url,\n      organizations_url,\n      repos_url,\n      received_events_url,\n      type,\n      site_admin,\n    },\n    labels,\n    state,\n    locked,\n    assignee,\n    assignees,\n    milestone,\n    comments,\n    created_at,\n    updated_at,\n    closed_at,\n    author_association,\n    body,\n    pull_request,\n    repository,\n  } = issue;\n\n  const full_name = _full_name || repository!.full_name;\n  const handleNavTo = () => {\n    dispatch({ type: UPDATE_ISSUE_INFO, payload: issue });\n    const url = `/pages/issues/issue-detail/index?full_name=${full_name}&number=${number}`;\n    Taro.navigateTo({ url });\n  };\n\n  return (\n    <View className={styles.wrap} onClick={handleNavTo}>\n      <Avatar url={`${avatar_url}&s=96`} size=\"28\"></Avatar>\n      <View className={styles.info}>\n        <View className={styles.top}>\n          <Text className={styles.login}>{login}</Text>\n          <Text className={styles.create}>{getTimeAgo(created_at)}</Text>\n        </View>\n        <View className={styles.title}>{title}</View>\n        <View className={styles.bottom}>\n          <View className={styles.number}>#{number}</View>\n          <View className={styles.comments}>\n            <FontIcon\n              value=\"comment\"\n              styleProps={{ fontSize: '15px', marginRight: '5px' }}\n            ></FontIcon>\n            <Text>{comments}</Text>\n          </View>\n        </View>\n      </View>\n    </View>\n  );\n};\n\nconst areEqual = (prevProps: any, props: any) => {\n  return prevProps && prevProps.issue.id === props.issue.id;\n};\n\nexport default memo(IssueItem, areEqual);\n"
  },
  {
    "path": "src/pages/issues/shared_data.ts",
    "content": "const shared_data = { issue: null };\n\nexport const setIssueData = (data) => {\n  shared_data.issue = data;\n};\n\nexport const getIssueData = () => {\n  return shared_data.issue;\n};\n"
  },
  {
    "path": "src/pages/login/index.config.ts",
    "content": "export default {\n  navigationBarTitleText: 'Login',\n  enablePullDownRefresh: true,\n};\n"
  },
  {
    "path": "src/pages/login/index.module.scss",
    "content": "page {\n  background: #fff;\n}\n.at-input {\n  margin-left: 0;\n  margin-bottom: 20px;\n  padding-left: 32px;\n}\n\n.layout-container {\n  position: relative;\n}\n\n.login-container {\n  margin: 40px 80px;\n}\n\n.login-header {\n  margin-bottom: 40px;\n  text-align: center;\n  background: #fff;\n}\n\n.logo-img {\n  width: 120px;\n  height: 120px;\n}\n\n.login-body {\n  padding: 0 40px;\n  margin-top: 30px;\n  box-shadow: $boxShadow;\n}\n\n.tabs-body {\n  margin-top: 40px;\n}\n.login-btn-container {\n  padding: 40px 0;\n  text-align: right;\n  border-bottom: 1px solid #e3e3e3;\n}\n.login-btn {\n  width: 180px;\n  height: 70px;\n  line-height: 70px;\n  border-radius: 0;\n}\n\n.desc {\n  font-size: 25px;\n  font-weight: 400;\n  color: $color-brand-light;\n}\n"
  },
  {
    "path": "src/pages/login/index.tsx",
    "content": "import { useUsersGetAuthenticated } from '@/github/githubComponents';\nimport { LOGIN } from '@/store/constatnts';\nimport { copyText } from '@/utils/common';\nimport { Block, Image, Text, View } from '@tarojs/components';\nimport Taro from '@tarojs/taro';\nimport { useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { AtButton, AtInput } from 'taro-ui';\nimport logo from '../../assets/logo.png';\nimport styles from './index.module.scss';\n\nconst Login = () => {\n  const dispatch = useDispatch();\n\n  const [token, setToken] = useState('');\n\n  const authorization = `token ${token}`;\n  const { refetch } = useUsersGetAuthenticated(\n    { headers: { Authorization: authorization } },\n    {\n      enabled: false,\n      onSuccess(data) {\n        if (data) {\n          dispatch({\n            type: LOGIN,\n            payload: { username: data.login, token: authorization },\n          });\n          Taro.showToast({\n            title: '登录成功!',\n            icon: 'success',\n            duration: 1500,\n          });\n\n          setTimeout(() => {\n            Taro.navigateBack();\n          }, 1500);\n        }\n      },\n    },\n  );\n\n  const handleInputChange = (val, e) => {\n    setToken(val);\n  };\n\n  const handleLoginBtnClick = () => {\n    if (!token) {\n      Taro.showToast({ title: '请输入 Token！', icon: 'none' });\n      return;\n    }\n\n    refetch();\n  };\n\n  return (\n    <View className={styles['layout-container']}>\n      <View className={styles['login-container']}>\n        <View className={styles['login-header']}>\n          <Image\n            className={styles['logo-img']}\n            mode=\"widthFix\"\n            src={logo}\n          ></Image>\n          <View>Welcome to GitHub Pro.</View>\n        </View>\n        <View className={styles['login-body']}>\n          <View className={styles['tabs-body']}>\n            <View>\n              <AtInput\n                name=\"token\"\n                type=\"text\"\n                placeholder=\"Token\"\n                value={token}\n                onChange={handleInputChange}\n              />\n            </View>\n          </View>\n          <View className={styles['login-btn-container']}>\n            <AtButton\n              className={styles['login-btn']}\n              size=\"small\"\n              type=\"primary\"\n              circle\n              onClick={handleLoginBtnClick}\n            >\n              登录\n            </AtButton>\n          </View>\n          <Block>Token 只会在本地保存，不会上传到服务器的，放心使用~😎</Block>\n          <Block></Block>\n          <View className={styles.desc}>\n            <Text\n              onClick={async () => {\n                await copyText(\n                  'https://github.com/settings/tokens/new?scopes=repo%2Cworkflow%2Cnotifications%2Cuser%2Cgist%2Cproject&description=Github%20Pro',\n                );\n              }}\n            >\n              https://github.com/settings/tokens/new (点击复制)\n            </Text>\n\n            <View>\n              <Text>Expiration 选择 No expiration</Text>\n            </View>\n          </View>\n        </View>\n      </View>\n    </View>\n  );\n};\n\nexport default Login;\n"
  },
  {
    "path": "src/pages/my-languages/index.config.ts",
    "content": "export default {\n  navigationBarTitleText: 'My Languages',\n  enablePullDownRefresh: true,\n};\n"
  },
  {
    "path": "src/pages/my-languages/index.module.scss",
    "content": ".wrap {\n  margin-top: 20px;\n}\n.filter-input {\n  line-height: 40px;\n  height: 40px;\n  font-size: 35px;\n  padding: 10px 40px;\n}\n.at-checkbox__option {\n}\n.at-checkbox__option-wrap {\n  padding: 20px 10px;\n}\n.at-checkbox__title {\n  font-size: 30px;\n  font-weight: 300;\n}\n"
  },
  {
    "path": "src/pages/my-languages/index.tsx",
    "content": "import { UPDATE_SELECTED_LANGS } from '@/store/constatnts';\nimport { Input, View } from '@tarojs/components';\nimport Taro from '@tarojs/taro';\nimport { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { AtCheckbox } from 'taro-ui';\nimport FabButton from '../../components/fab-button';\nimport { LanguageParams } from '../trending';\nimport styles from './index.module.scss';\nimport LANGUAGE_LIST from './languages';\n\ninterface OptionsLang {\n  value: string;\n  label: string;\n}\n\nconst MyLanguages = () => {\n  const langs = useSelector<any, any>((state) => state.lang.selected);\n  const initSelectedList = langs.map((lang) => lang.language);\n\n  const [optionsLangs, setOptionsLangs] =\n    useState<OptionsLang[]>(LANGUAGE_LIST);\n  const [selectedList, setSelectedList] = useState<string[]>(initSelectedList);\n  const [filterVal, setFilterVal] = useState<string>('');\n  const dispatch = useDispatch();\n\n  const handleSelectedChange = (val) => {\n    setSelectedList(val);\n  };\n\n  const handleChangeInput = (e) => {\n    const val = e.target.value;\n    setFilterVal(val);\n\n    const _langs = LANGUAGE_LIST.filter((_lang) => _lang.value.includes(val));\n    setOptionsLangs(_langs);\n  };\n\n  const handleFabClick = () => {\n    const languages = LANGUAGE_LIST.reduce<LanguageParams[]>(\n      (result, { value, label }) => {\n        // TODO 按顺序排\n        if (selectedList.includes(value)) {\n          result.push({ language: value, title: label });\n        }\n        return result;\n      },\n      [],\n    );\n\n    dispatch({\n      type: UPDATE_SELECTED_LANGS,\n      payload: languages,\n    });\n    Taro.navigateBack();\n  };\n\n  return (\n    <View className={styles.wrap}>\n      <View>\n        <Input\n          focus\n          placeholder=\"Search\"\n          className={styles['filter-input']}\n          value={filterVal}\n          onInput={handleChangeInput}\n        ></Input>\n      </View>\n      <View>\n        <AtCheckbox\n          options={optionsLangs}\n          selectedList={selectedList}\n          onChange={handleSelectedChange}\n        ></AtCheckbox>\n      </View>\n      <FabButton icon=\"check\" onClick={handleFabClick}></FabButton>\n    </View>\n  );\n};\n\nexport default MyLanguages;\n"
  },
  {
    "path": "src/pages/my-languages/languages.ts",
    "content": "export const LANGUAGE_LIST = [\n  {\n    value: '',\n    label: 'All Languages',\n    disabled: true,\n  },\n  {\n    value: '1c-enterprise',\n    label: '1C Enterprise',\n  },\n  {\n    value: 'abap',\n    label: 'ABAP',\n  },\n  {\n    value: 'abnf',\n    label: 'ABNF',\n  },\n  {\n    value: 'actionscript',\n    label: 'ActionScript',\n  },\n  {\n    value: 'ada',\n    label: 'Ada',\n  },\n  {\n    value: 'adobe-font-metrics',\n    label: 'Adobe Font Metrics',\n  },\n  {\n    value: 'agda',\n    label: 'Agda',\n  },\n  {\n    value: 'ags-script',\n    label: 'AGS Script',\n  },\n  {\n    value: 'alloy',\n    label: 'Alloy',\n  },\n  {\n    value: 'alpine-abuild',\n    label: 'Alpine Abuild',\n  },\n  {\n    value: 'ampl',\n    label: 'AMPL',\n  },\n  {\n    value: 'angelscript',\n    label: 'AngelScript',\n  },\n  {\n    value: 'ant-build-system',\n    label: 'Ant Build System',\n  },\n  {\n    value: 'antlr',\n    label: 'ANTLR',\n  },\n  {\n    value: 'apacheconf',\n    label: 'ApacheConf',\n  },\n  {\n    value: 'apex',\n    label: 'Apex',\n  },\n  {\n    value: 'api-blueprint',\n    label: 'API Blueprint',\n  },\n  {\n    value: 'apl',\n    label: 'APL',\n  },\n  {\n    value: 'apollo-guidance-computer',\n    label: 'Apollo Guidance Computer',\n  },\n  {\n    value: 'applescript',\n    label: 'AppleScript',\n  },\n  {\n    value: 'arc',\n    label: 'Arc',\n  },\n  {\n    value: 'asciidoc',\n    label: 'AsciiDoc',\n  },\n  {\n    value: 'asn.1',\n    label: 'ASN.1',\n  },\n  {\n    value: 'asp',\n    label: 'ASP',\n  },\n  {\n    value: 'aspectj',\n    label: 'AspectJ',\n  },\n  {\n    value: 'assembly',\n    label: 'Assembly',\n  },\n  {\n    value: 'ats',\n    label: 'ATS',\n  },\n  {\n    value: 'augeas',\n    label: 'Augeas',\n  },\n  {\n    value: 'autohotkey',\n    label: 'AutoHotkey',\n  },\n  {\n    value: 'autoit',\n    label: 'AutoIt',\n  },\n  {\n    value: 'awk',\n    label: 'Awk',\n  },\n  {\n    value: 'ballerina',\n    label: 'Ballerina',\n  },\n  {\n    value: 'batchfile',\n    label: 'Batchfile',\n  },\n  {\n    value: 'befunge',\n    label: 'Befunge',\n  },\n  {\n    value: 'bison',\n    label: 'Bison',\n  },\n  {\n    value: 'bitbake',\n    label: 'BitBake',\n  },\n  {\n    value: 'blade',\n    label: 'Blade',\n  },\n  {\n    value: 'blitzbasic',\n    label: 'BlitzBasic',\n  },\n  {\n    value: 'blitzmax',\n    label: 'BlitzMax',\n  },\n  {\n    value: 'bluespec',\n    label: 'Bluespec',\n  },\n  {\n    value: 'boo',\n    label: 'Boo',\n  },\n  {\n    value: 'brainfuck',\n    label: 'Brainfuck',\n  },\n  {\n    value: 'brightscript',\n    label: 'Brightscript',\n  },\n  {\n    value: 'bro',\n    label: 'Bro',\n  },\n  {\n    value: 'c',\n    label: 'C',\n  },\n  {\n    value: 'c%23',\n    label: 'C#',\n  },\n  {\n    value: 'c++',\n    label: 'C++',\n  },\n  {\n    value: 'c-objdump',\n    label: 'C-ObjDump',\n  },\n  {\n    value: 'c2hs-haskell',\n    label: 'C2hs Haskell',\n  },\n  {\n    value: \"cap'n-proto\",\n    label: \"Cap'n Proto\",\n  },\n  {\n    value: 'cartocss',\n    label: 'CartoCSS',\n  },\n  {\n    value: 'ceylon',\n    label: 'Ceylon',\n  },\n  {\n    value: 'chapel',\n    label: 'Chapel',\n  },\n  {\n    value: 'charity',\n    label: 'Charity',\n  },\n  {\n    value: 'chuck',\n    label: 'ChucK',\n  },\n  {\n    value: 'cirru',\n    label: 'Cirru',\n  },\n  {\n    value: 'clarion',\n    label: 'Clarion',\n  },\n  {\n    value: 'clean',\n    label: 'Clean',\n  },\n  {\n    value: 'click',\n    label: 'Click',\n  },\n  {\n    value: 'clips',\n    label: 'CLIPS',\n  },\n  {\n    value: 'clojure',\n    label: 'Clojure',\n  },\n  {\n    value: 'closure-templates',\n    label: 'Closure Templates',\n  },\n  {\n    value: 'cmake',\n    label: 'CMake',\n  },\n  {\n    value: 'cobol',\n    label: 'COBOL',\n  },\n  {\n    value: 'coffeescript',\n    label: 'CoffeeScript',\n  },\n  {\n    value: 'coldfusion',\n    label: 'ColdFusion',\n  },\n  {\n    value: 'coldfusion-cfc',\n    label: 'ColdFusion CFC',\n  },\n  {\n    value: 'collada',\n    label: 'COLLADA',\n  },\n  {\n    value: 'common-lisp',\n    label: 'Common Lisp',\n  },\n  {\n    value: 'common-workflow-value',\n    label: 'Common Workflow value',\n  },\n  {\n    value: 'component-pascal',\n    label: 'Component Pascal',\n  },\n  {\n    value: 'cool',\n    label: 'Cool',\n  },\n  {\n    value: 'coq',\n    label: 'Coq',\n  },\n  {\n    value: 'cpp-objdump',\n    label: 'Cpp-ObjDump',\n  },\n  {\n    value: 'creole',\n    label: 'Creole',\n  },\n  {\n    value: 'crystal',\n    label: 'Crystal',\n  },\n  {\n    value: 'cson',\n    label: 'CSON',\n  },\n  {\n    value: 'csound',\n    label: 'Csound',\n  },\n  {\n    value: 'csound-document',\n    label: 'Csound Document',\n  },\n  {\n    value: 'csound-score',\n    label: 'Csound Score',\n  },\n  {\n    value: 'css',\n    label: 'CSS',\n  },\n  {\n    value: 'csv',\n    label: 'CSV',\n  },\n  {\n    value: 'cuda',\n    label: 'Cuda',\n  },\n  {\n    value: 'cweb',\n    label: 'CWeb',\n  },\n  {\n    value: 'cycript',\n    label: 'Cycript',\n  },\n  {\n    value: 'cython',\n    label: 'Cython',\n  },\n  {\n    value: 'd',\n    label: 'D',\n  },\n  {\n    value: 'd-objdump',\n    label: 'D-ObjDump',\n  },\n  {\n    value: 'darcs-patch',\n    label: 'Darcs Patch',\n  },\n  {\n    value: 'dart',\n    label: 'Dart',\n  },\n  {\n    value: 'dataweave',\n    label: 'DataWeave',\n  },\n  {\n    value: 'desktop',\n    label: 'desktop',\n  },\n  {\n    value: 'diff',\n    label: 'Diff',\n  },\n  {\n    value: 'digital-command-value',\n    label: 'DIGITAL Command value',\n  },\n  {\n    value: 'dm',\n    label: 'DM',\n  },\n  {\n    value: 'dns-zone',\n    label: 'DNS Zone',\n  },\n  {\n    value: 'dockerfile',\n    label: 'Dockerfile',\n  },\n  {\n    value: 'dogescript',\n    label: 'Dogescript',\n  },\n  {\n    value: 'dtrace',\n    label: 'DTrace',\n  },\n  {\n    value: 'dylan',\n    label: 'Dylan',\n  },\n  {\n    value: 'e',\n    label: 'E',\n  },\n  {\n    value: 'eagle',\n    label: 'Eagle',\n  },\n  {\n    value: 'easybuild',\n    label: 'Easybuild',\n  },\n  {\n    value: 'ebnf',\n    label: 'EBNF',\n  },\n  {\n    value: 'ec',\n    label: 'eC',\n  },\n  {\n    value: 'ecere-projects',\n    label: 'Ecere Projects',\n  },\n  {\n    value: 'ecl',\n    label: 'ECL',\n  },\n  {\n    value: 'eclipse',\n    label: 'ECLiPSe',\n  },\n  {\n    value: 'edje-data-collection',\n    label: 'Edje Data Collection',\n  },\n  {\n    value: 'edn',\n    label: 'edn',\n  },\n  {\n    value: 'eiffel',\n    label: 'Eiffel',\n  },\n  {\n    value: 'ejs',\n    label: 'EJS',\n  },\n  {\n    value: 'elixir',\n    label: 'Elixir',\n  },\n  {\n    value: 'elm',\n    label: 'Elm',\n  },\n  {\n    value: 'emacs-lisp',\n    label: 'Emacs Lisp',\n  },\n  {\n    value: 'emberscript',\n    label: 'EmberScript',\n  },\n  {\n    value: 'eq',\n    label: 'EQ',\n  },\n  {\n    value: 'erlang',\n    label: 'Erlang',\n  },\n  {\n    value: 'f%23',\n    label: 'F#',\n  },\n  {\n    value: 'factor',\n    label: 'Factor',\n  },\n  {\n    value: 'fancy',\n    label: 'Fancy',\n  },\n  {\n    value: 'fantom',\n    label: 'Fantom',\n  },\n  {\n    value: 'filebench-wml',\n    label: 'Filebench WML',\n  },\n  {\n    value: 'filterscript',\n    label: 'Filterscript',\n  },\n  {\n    value: 'fish',\n    label: 'fish',\n  },\n  {\n    value: 'flux',\n    label: 'FLUX',\n  },\n  {\n    value: 'formatted',\n    label: 'Formatted',\n  },\n  {\n    value: 'forth',\n    label: 'Forth',\n  },\n  {\n    value: 'fortran',\n    label: 'Fortran',\n  },\n  {\n    value: 'freemarker',\n    label: 'FreeMarker',\n  },\n  {\n    value: 'frege',\n    label: 'Frege',\n  },\n  {\n    value: 'g-code',\n    label: 'G-code',\n  },\n  {\n    value: 'game-maker-value',\n    label: 'Game Maker value',\n  },\n  {\n    value: 'gams',\n    label: 'GAMS',\n  },\n  {\n    value: 'gap',\n    label: 'GAP',\n  },\n  {\n    value: 'gcc-machine-description',\n    label: 'GCC Machine Description',\n  },\n  {\n    value: 'gdb',\n    label: 'GDB',\n  },\n  {\n    value: 'gdscript',\n    label: 'GDScript',\n  },\n  {\n    value: 'genie',\n    label: 'Genie',\n  },\n  {\n    value: 'genshi',\n    label: 'Genshi',\n  },\n  {\n    value: 'gentoo-ebuild',\n    label: 'Gentoo Ebuild',\n  },\n  {\n    value: 'gentoo-eclass',\n    label: 'Gentoo Eclass',\n  },\n  {\n    value: 'gerber-image',\n    label: 'Gerber Image',\n  },\n  {\n    value: 'gettext-catalog',\n    label: 'Gettext Catalog',\n  },\n  {\n    value: 'gherkin',\n    label: 'Gherkin',\n  },\n  {\n    value: 'glsl',\n    label: 'GLSL',\n  },\n  {\n    value: 'glyph',\n    label: 'Glyph',\n  },\n  {\n    value: 'gn',\n    label: 'GN',\n  },\n  {\n    value: 'gnuplot',\n    label: 'Gnuplot',\n  },\n  {\n    value: 'go',\n    label: 'Go',\n  },\n  {\n    value: 'golo',\n    label: 'Golo',\n  },\n  {\n    value: 'gosu',\n    label: 'Gosu',\n  },\n  {\n    value: 'grace',\n    label: 'Grace',\n  },\n  {\n    value: 'gradle',\n    label: 'Gradle',\n  },\n  {\n    value: 'grammatical-framework',\n    label: 'Grammatical Framework',\n  },\n  {\n    value: 'graph-modeling-value',\n    label: 'Graph Modeling value',\n  },\n  {\n    value: 'graphql',\n    label: 'GraphQL',\n  },\n  {\n    value: 'graphviz-(dot)',\n    label: 'Graphviz (DOT)',\n  },\n  {\n    value: 'groovy',\n    label: 'Groovy',\n  },\n  {\n    value: 'groovy-server-pages',\n    label: 'Groovy Server Pages',\n  },\n  {\n    value: 'hack',\n    label: 'Hack',\n  },\n  {\n    value: 'haml',\n    label: 'Haml',\n  },\n  {\n    value: 'handlebars',\n    label: 'Handlebars',\n  },\n  {\n    value: 'harbour',\n    label: 'Harbour',\n  },\n  {\n    value: 'haskell',\n    label: 'Haskell',\n  },\n  {\n    value: 'haxe',\n    label: 'Haxe',\n  },\n  {\n    value: 'hcl',\n    label: 'HCL',\n  },\n  {\n    value: 'hlsl',\n    label: 'HLSL',\n  },\n  {\n    value: 'html',\n    label: 'HTML',\n  },\n  {\n    value: 'html+django',\n    label: 'HTML+Django',\n  },\n  {\n    value: 'html+ecr',\n    label: 'HTML+ECR',\n  },\n  {\n    value: 'html+eex',\n    label: 'HTML+EEX',\n  },\n  {\n    value: 'html+erb',\n    label: 'HTML+ERB',\n  },\n  {\n    value: 'html+php',\n    label: 'HTML+PHP',\n  },\n  {\n    value: 'http',\n    label: 'HTTP',\n  },\n  {\n    value: 'hy',\n    label: 'Hy',\n  },\n  {\n    value: 'hyphy',\n    label: 'HyPhy',\n  },\n  {\n    value: 'idl',\n    label: 'IDL',\n  },\n  {\n    value: 'idris',\n    label: 'Idris',\n  },\n  {\n    value: 'igor-pro',\n    label: 'IGOR Pro',\n  },\n  {\n    value: 'inform-7',\n    label: 'Inform 7',\n  },\n  {\n    value: 'ini',\n    label: 'INI',\n  },\n  {\n    value: 'inno-setup',\n    label: 'Inno Setup',\n  },\n  {\n    value: 'io',\n    label: 'Io',\n  },\n  {\n    value: 'ioke',\n    label: 'Ioke',\n  },\n  {\n    value: 'irc-log',\n    label: 'IRC log',\n  },\n  {\n    value: 'isabelle',\n    label: 'Isabelle',\n  },\n  {\n    value: 'isabelle-root',\n    label: 'Isabelle ROOT',\n  },\n  {\n    value: 'j',\n    label: 'J',\n  },\n  {\n    value: 'jasmin',\n    label: 'Jasmin',\n  },\n  {\n    value: 'java',\n    label: 'Java',\n  },\n  {\n    value: 'java-server-pages',\n    label: 'Java Server Pages',\n  },\n  {\n    value: 'javascript',\n    label: 'JavaScript',\n  },\n  {\n    value: 'jflex',\n    label: 'JFlex',\n  },\n  {\n    value: 'jison',\n    label: 'Jison',\n  },\n  {\n    value: 'jison-lex',\n    label: 'Jison Lex',\n  },\n  {\n    value: 'jolie',\n    label: 'Jolie',\n  },\n  {\n    value: 'json',\n    label: 'JSON',\n  },\n  {\n    value: 'json5',\n    label: 'JSON5',\n  },\n  {\n    value: 'jsoniq',\n    label: 'JSONiq',\n  },\n  {\n    value: 'jsonld',\n    label: 'JSONLD',\n  },\n  {\n    value: 'jsx',\n    label: 'JSX',\n  },\n  {\n    value: 'julia',\n    label: 'Julia',\n  },\n  {\n    value: 'jupyter-notebook',\n    label: 'Jupyter Notebook',\n  },\n  {\n    value: 'kicad-layout',\n    label: 'KiCad Layout',\n  },\n  {\n    value: 'kicad-legacy-layout',\n    label: 'KiCad Legacy Layout',\n  },\n  {\n    value: 'kicad-schematic',\n    label: 'KiCad Schematic',\n  },\n  {\n    value: 'kit',\n    label: 'Kit',\n  },\n  {\n    value: 'kotlin',\n    label: 'Kotlin',\n  },\n  {\n    value: 'krl',\n    label: 'KRL',\n  },\n  {\n    value: 'labview',\n    label: 'LabVIEW',\n  },\n  {\n    value: 'lasso',\n    label: 'Lasso',\n  },\n  {\n    value: 'latte',\n    label: 'Latte',\n  },\n  {\n    value: 'lean',\n    label: 'Lean',\n  },\n  {\n    value: 'less',\n    label: 'Less',\n  },\n  {\n    value: 'lex',\n    label: 'Lex',\n  },\n  {\n    value: 'lfe',\n    label: 'LFE',\n  },\n  {\n    value: 'lilypond',\n    label: 'LilyPond',\n  },\n  {\n    value: 'limbo',\n    label: 'Limbo',\n  },\n  {\n    value: 'linker-script',\n    label: 'Linker Script',\n  },\n  {\n    value: 'linux-kernel-module',\n    label: 'Linux Kernel Module',\n  },\n  {\n    value: 'liquid',\n    label: 'Liquid',\n  },\n  {\n    value: 'literate-agda',\n    label: 'Literate Agda',\n  },\n  {\n    value: 'literate-coffeescript',\n    label: 'Literate CoffeeScript',\n  },\n  {\n    value: 'literate-haskell',\n    label: 'Literate Haskell',\n  },\n  {\n    value: 'livescript',\n    label: 'LiveScript',\n  },\n  {\n    value: 'llvm',\n    label: 'LLVM',\n  },\n  {\n    value: 'logos',\n    label: 'Logos',\n  },\n  {\n    value: 'logtalk',\n    label: 'Logtalk',\n  },\n  {\n    value: 'lolcode',\n    label: 'LOLCODE',\n  },\n  {\n    value: 'lookml',\n    label: 'LookML',\n  },\n  {\n    value: 'loomscript',\n    label: 'LoomScript',\n  },\n  {\n    value: 'lsl',\n    label: 'LSL',\n  },\n  {\n    value: 'lua',\n    label: 'Lua',\n  },\n  {\n    value: 'm',\n    label: 'M',\n  },\n  {\n    value: 'm4',\n    label: 'M4',\n  },\n  {\n    value: 'm4sugar',\n    label: 'M4Sugar',\n  },\n  {\n    value: 'makefile',\n    label: 'Makefile',\n  },\n  {\n    value: 'mako',\n    label: 'Mako',\n  },\n  {\n    value: 'markdown',\n    label: 'Markdown',\n  },\n  {\n    value: 'marko',\n    label: 'Marko',\n  },\n  {\n    value: 'mask',\n    label: 'Mask',\n  },\n  {\n    value: 'mathematica',\n    label: 'Mathematica',\n  },\n  {\n    value: 'matlab',\n    label: 'Matlab',\n  },\n  {\n    value: 'maven-pom',\n    label: 'Maven POM',\n  },\n  {\n    value: 'max',\n    label: 'Max',\n  },\n  {\n    value: 'maxscript',\n    label: 'MAXScript',\n  },\n  {\n    value: 'mediawiki',\n    label: 'MediaWiki',\n  },\n  {\n    value: 'mercury',\n    label: 'Mercury',\n  },\n  {\n    value: 'meson',\n    label: 'Meson',\n  },\n  {\n    value: 'metal',\n    label: 'Metal',\n  },\n  {\n    value: 'minid',\n    label: 'MiniD',\n  },\n  {\n    value: 'mirah',\n    label: 'Mirah',\n  },\n  {\n    value: 'modelica',\n    label: 'Modelica',\n  },\n  {\n    value: 'modula-2',\n    label: 'Modula-2',\n  },\n  {\n    value: 'module-management-system',\n    label: 'Module Management System',\n  },\n  {\n    value: 'monkey',\n    label: 'Monkey',\n  },\n  {\n    value: 'moocode',\n    label: 'Moocode',\n  },\n  {\n    value: 'moonscript',\n    label: 'MoonScript',\n  },\n  {\n    value: 'mql4',\n    label: 'MQL4',\n  },\n  {\n    value: 'mql5',\n    label: 'MQL5',\n  },\n  {\n    value: 'mtml',\n    label: 'MTML',\n  },\n  {\n    value: 'muf',\n    label: 'MUF',\n  },\n  {\n    value: 'mupad',\n    label: 'mupad',\n  },\n  {\n    value: 'myghty',\n    label: 'Myghty',\n  },\n  {\n    value: 'ncl',\n    label: 'NCL',\n  },\n  {\n    value: 'nearley',\n    label: 'Nearley',\n  },\n  {\n    value: 'nemerle',\n    label: 'Nemerle',\n  },\n  {\n    value: 'nesc',\n    label: 'nesC',\n  },\n  {\n    value: 'netlinx',\n    label: 'NetLinx',\n  },\n  {\n    value: 'netlinx+erb',\n    label: 'NetLinx+ERB',\n  },\n  {\n    value: 'netlogo',\n    label: 'NetLogo',\n  },\n  {\n    value: 'newlisp',\n    label: 'NewLisp',\n  },\n  {\n    value: 'nextflow',\n    label: 'Nextflow',\n  },\n  {\n    value: 'nginx',\n    label: 'Nginx',\n  },\n  {\n    value: 'nim',\n    label: 'Nim',\n  },\n  {\n    value: 'ninja',\n    label: 'Ninja',\n  },\n  {\n    value: 'nit',\n    label: 'Nit',\n  },\n  {\n    value: 'nix',\n    label: 'Nix',\n  },\n  {\n    value: 'nl',\n    label: 'NL',\n  },\n  {\n    value: 'nsis',\n    label: 'NSIS',\n  },\n  {\n    value: 'nu',\n    label: 'Nu',\n  },\n  {\n    value: 'numpy',\n    label: 'NumPy',\n  },\n  {\n    value: 'objdump',\n    label: 'ObjDump',\n  },\n  {\n    value: 'objective-c',\n    label: 'Objective-C',\n  },\n  {\n    value: 'objective-c++',\n    label: 'Objective-C++',\n  },\n  {\n    value: 'objective-j',\n    label: 'Objective-J',\n  },\n  {\n    value: 'ocaml',\n    label: 'OCaml',\n  },\n  {\n    value: 'omgrofl',\n    label: 'Omgrofl',\n  },\n  {\n    value: 'ooc',\n    label: 'ooc',\n  },\n  {\n    value: 'opa',\n    label: 'Opa',\n  },\n  {\n    value: 'opal',\n    label: 'Opal',\n  },\n  {\n    value: 'opencl',\n    label: 'OpenCL',\n  },\n  {\n    value: 'openedge-abl',\n    label: 'OpenEdge ABL',\n  },\n  {\n    value: 'openrc-runscript',\n    label: 'OpenRC runscript',\n  },\n  {\n    value: 'openscad',\n    label: 'OpenSCAD',\n  },\n  {\n    value: 'opentype-feature-file',\n    label: 'OpenType Feature File',\n  },\n  {\n    value: 'org',\n    label: 'Org',\n  },\n  {\n    value: 'ox',\n    label: 'Ox',\n  },\n  {\n    value: 'oxygene',\n    label: 'Oxygene',\n  },\n  {\n    value: 'oz',\n    label: 'Oz',\n  },\n  {\n    value: 'p4',\n    label: 'P4',\n  },\n  {\n    value: 'pan',\n    label: 'Pan',\n  },\n  {\n    value: 'papyrus',\n    label: 'Papyrus',\n  },\n  {\n    value: 'parrot',\n    label: 'Parrot',\n  },\n  {\n    value: 'parrot-assembly',\n    label: 'Parrot Assembly',\n  },\n  {\n    value: 'parrot-internal-representation',\n    label: 'Parrot Internal Representation',\n  },\n  {\n    value: 'pascal',\n    label: 'Pascal',\n  },\n  {\n    value: 'pawn',\n    label: 'PAWN',\n  },\n  {\n    value: 'pep8',\n    label: 'Pep8',\n  },\n  {\n    value: 'perl',\n    label: 'Perl',\n  },\n  {\n    value: 'perl-6',\n    label: 'Perl 6',\n  },\n  {\n    value: 'php',\n    label: 'PHP',\n  },\n  {\n    value: 'pic',\n    label: 'Pic',\n  },\n  {\n    value: 'pickle',\n    label: 'Pickle',\n  },\n  {\n    value: 'picolisp',\n    label: 'PicoLisp',\n  },\n  {\n    value: 'piglatin',\n    label: 'PigLatin',\n  },\n  {\n    value: 'pike',\n    label: 'Pike',\n  },\n  {\n    value: 'plpgsql',\n    label: 'PLpgSQL',\n  },\n  {\n    value: 'plsql',\n    label: 'PLSQL',\n  },\n  {\n    value: 'pod',\n    label: 'Pod',\n  },\n  {\n    value: 'pogoscript',\n    label: 'PogoScript',\n  },\n  {\n    value: 'pony',\n    label: 'Pony',\n  },\n  {\n    value: 'postcss',\n    label: 'PostCSS',\n  },\n  {\n    value: 'postscript',\n    label: 'PostScript',\n  },\n  {\n    value: 'pov-ray-sdl',\n    label: 'POV-Ray SDL',\n  },\n  {\n    value: 'powerbuilder',\n    label: 'PowerBuilder',\n  },\n  {\n    value: 'powershell',\n    label: 'PowerShell',\n  },\n  {\n    value: 'processing',\n    label: 'Processing',\n  },\n  {\n    value: 'prolog',\n    label: 'Prolog',\n  },\n  {\n    value: 'propeller-spin',\n    label: 'Propeller Spin',\n  },\n  {\n    value: 'protocol-buffer',\n    label: 'Protocol Buffer',\n  },\n  {\n    value: 'public-key',\n    label: 'Public Key',\n  },\n  {\n    value: 'pug',\n    label: 'Pug',\n  },\n  {\n    value: 'puppet',\n    label: 'Puppet',\n  },\n  {\n    value: 'pure-data',\n    label: 'Pure Data',\n  },\n  {\n    value: 'purebasic',\n    label: 'PureBasic',\n  },\n  {\n    value: 'purescript',\n    label: 'PureScript',\n  },\n  {\n    value: 'python',\n    label: 'Python',\n  },\n  {\n    value: 'python-console',\n    label: 'Python console',\n  },\n  {\n    value: 'python-traceback',\n    label: 'Python traceback',\n  },\n  {\n    value: 'qmake',\n    label: 'QMake',\n  },\n  {\n    value: 'qml',\n    label: 'QML',\n  },\n  {\n    value: 'r',\n    label: 'R',\n  },\n  {\n    value: 'racket',\n    label: 'Racket',\n  },\n  {\n    value: 'ragel',\n    label: 'Ragel',\n  },\n  {\n    value: 'raml',\n    label: 'RAML',\n  },\n  {\n    value: 'rascal',\n    label: 'Rascal',\n  },\n  {\n    value: 'raw-token-data',\n    label: 'Raw token data',\n  },\n  {\n    value: 'rdoc',\n    label: 'RDoc',\n  },\n  {\n    value: 'realbasic',\n    label: 'REALbasic',\n  },\n  {\n    value: 'reason',\n    label: 'Reason',\n  },\n  {\n    value: 'rebol',\n    label: 'Rebol',\n  },\n  {\n    value: 'red',\n    label: 'Red',\n  },\n  {\n    value: 'redcode',\n    label: 'Redcode',\n  },\n  {\n    value: 'regular-expression',\n    label: 'Regular Expression',\n  },\n  {\n    value: \"ren'py\",\n    label: \"Ren'Py\",\n  },\n  {\n    value: 'renderscript',\n    label: 'RenderScript',\n  },\n  {\n    value: 'restructuredtext',\n    label: 'reStructuredText',\n  },\n  {\n    value: 'rexx',\n    label: 'REXX',\n  },\n  {\n    value: 'rhtml',\n    label: 'RHTML',\n  },\n  {\n    value: 'ring',\n    label: 'Ring',\n  },\n  {\n    value: 'rmarkdown',\n    label: 'RMarkdown',\n  },\n  {\n    value: 'robotframework',\n    label: 'RobotFramework',\n  },\n  {\n    value: 'roff',\n    label: 'Roff',\n  },\n  {\n    value: 'rouge',\n    label: 'Rouge',\n  },\n  {\n    value: 'rpc',\n    label: 'RPC',\n  },\n  {\n    value: 'rpm-spec',\n    label: 'RPM Spec',\n  },\n  {\n    value: 'ruby',\n    label: 'Ruby',\n  },\n  {\n    value: 'runoff',\n    label: 'RUNOFF',\n  },\n  {\n    value: 'rust',\n    label: 'Rust',\n  },\n  {\n    value: 'sage',\n    label: 'Sage',\n  },\n  {\n    value: 'saltstack',\n    label: 'SaltStack',\n  },\n  {\n    value: 'sas',\n    label: 'SAS',\n  },\n  {\n    value: 'sass',\n    label: 'Sass',\n  },\n  {\n    value: 'scala',\n    label: 'Scala',\n  },\n  {\n    value: 'scaml',\n    label: 'Scaml',\n  },\n  {\n    value: 'scheme',\n    label: 'Scheme',\n  },\n  {\n    value: 'scilab',\n    label: 'Scilab',\n  },\n  {\n    value: 'scss',\n    label: 'SCSS',\n  },\n  {\n    value: 'sed',\n    label: 'sed',\n  },\n  {\n    value: 'self',\n    label: 'Self',\n  },\n  {\n    value: 'shaderlab',\n    label: 'ShaderLab',\n  },\n  {\n    value: 'shell',\n    label: 'Shell',\n  },\n  {\n    value: 'shellsession',\n    label: 'ShellSession',\n  },\n  {\n    value: 'shen',\n    label: 'Shen',\n  },\n  {\n    value: 'slash',\n    label: 'Slash',\n  },\n  {\n    value: 'slim',\n    label: 'Slim',\n  },\n  {\n    value: 'smali',\n    label: 'Smali',\n  },\n  {\n    value: 'smalltalk',\n    label: 'Smalltalk',\n  },\n  {\n    value: 'smarty',\n    label: 'Smarty',\n  },\n  {\n    value: 'smt',\n    label: 'SMT',\n  },\n  {\n    value: 'solidity',\n    label: 'Solidity',\n  },\n  {\n    value: 'sourcepawn',\n    label: 'SourcePawn',\n  },\n  {\n    value: 'sparql',\n    label: 'SPARQL',\n  },\n  {\n    value: 'spline-font-database',\n    label: 'Spline Font Database',\n  },\n  {\n    value: 'sqf',\n    label: 'SQF',\n  },\n  {\n    value: 'sql',\n    label: 'SQL',\n  },\n  {\n    value: 'sqlpl',\n    label: 'SQLPL',\n  },\n  {\n    value: 'squirrel',\n    label: 'Squirrel',\n  },\n  {\n    value: 'srecode-template',\n    label: 'SRecode Template',\n  },\n  {\n    value: 'stan',\n    label: 'Stan',\n  },\n  {\n    value: 'standard-ml',\n    label: 'Standard ML',\n  },\n  {\n    value: 'stata',\n    label: 'Stata',\n  },\n  {\n    value: 'ston',\n    label: 'STON',\n  },\n  {\n    value: 'stylus',\n    label: 'Stylus',\n  },\n  {\n    value: 'sublime-text-config',\n    label: 'Sublime Text Config',\n  },\n  {\n    value: 'subrip-text',\n    label: 'SubRip Text',\n  },\n  {\n    value: 'sugarss',\n    label: 'SugarSS',\n  },\n  {\n    value: 'supercollider',\n    label: 'SuperCollider',\n  },\n  {\n    value: 'svg',\n    label: 'SVG',\n  },\n  {\n    value: 'swift',\n    label: 'Swift',\n  },\n  {\n    value: 'systemverilog',\n    label: 'SystemVerilog',\n  },\n  {\n    value: 'tcl',\n    label: 'Tcl',\n  },\n  {\n    value: 'tcsh',\n    label: 'Tcsh',\n  },\n  {\n    value: 'tea',\n    label: 'Tea',\n  },\n  {\n    value: 'terra',\n    label: 'Terra',\n  },\n  {\n    value: 'tex',\n    label: 'TeX',\n  },\n  {\n    value: 'text',\n    label: 'Text',\n  },\n  {\n    value: 'textile',\n    label: 'Textile',\n  },\n  {\n    value: 'thrift',\n    label: 'Thrift',\n  },\n  {\n    value: 'ti-program',\n    label: 'TI Program',\n  },\n  {\n    value: 'tla',\n    label: 'TLA',\n  },\n  {\n    value: 'toml',\n    label: 'TOML',\n  },\n  {\n    value: 'turing',\n    label: 'Turing',\n  },\n  {\n    value: 'turtle',\n    label: 'Turtle',\n  },\n  {\n    value: 'twig',\n    label: 'Twig',\n  },\n  {\n    value: 'txl',\n    label: 'TXL',\n  },\n  {\n    value: 'type-value',\n    label: 'Type value',\n  },\n  {\n    value: 'typescript',\n    label: 'TypeScript',\n  },\n  {\n    value: 'unified-parallel-c',\n    label: 'Unified Parallel C',\n  },\n  {\n    value: 'unity3d-asset',\n    label: 'Unity3D Asset',\n  },\n  {\n    value: 'unix-assembly',\n    label: 'Unix Assembly',\n  },\n  {\n    value: 'uno',\n    label: 'Uno',\n  },\n  {\n    value: 'unrealscript',\n    label: 'UnrealScript',\n  },\n  {\n    value: 'urweb',\n    label: 'UrWeb',\n  },\n  {\n    value: 'vala',\n    label: 'Vala',\n  },\n  {\n    value: 'vcl',\n    label: 'VCL',\n  },\n  {\n    value: 'verilog',\n    label: 'Verilog',\n  },\n  {\n    value: 'vhdl',\n    label: 'VHDL',\n  },\n  {\n    value: 'vim-script',\n    label: 'Vim script',\n  },\n  {\n    value: 'visual-basic',\n    label: 'Visual Basic',\n  },\n  {\n    value: 'volt',\n    label: 'Volt',\n  },\n  {\n    value: 'vue',\n    label: 'Vue',\n  },\n  {\n    value: 'wavefront-material',\n    label: 'Wavefront Material',\n  },\n  {\n    value: 'wavefront-object',\n    label: 'Wavefront Object',\n  },\n  {\n    value: 'wdl',\n    label: 'wdl',\n  },\n  {\n    value: 'web-ontology-value',\n    label: 'Web Ontology value',\n  },\n  {\n    value: 'webassembly',\n    label: 'WebAssembly',\n  },\n  {\n    value: 'webidl',\n    label: 'WebIDL',\n  },\n  {\n    value: 'wisp',\n    label: 'wisp',\n  },\n  {\n    value: 'world-of-warcraft-addon-data',\n    label: 'World of Warcraft Addon Data',\n  },\n  {\n    value: 'x10',\n    label: 'X10',\n  },\n  {\n    value: 'xbase',\n    label: 'xBase',\n  },\n  {\n    value: 'xc',\n    label: 'XC',\n  },\n  {\n    value: 'xcompose',\n    label: 'XCompose',\n  },\n  {\n    value: 'xml',\n    label: 'XML',\n  },\n  {\n    value: 'xojo',\n    label: 'Xojo',\n  },\n  {\n    value: 'xpages',\n    label: 'XPages',\n  },\n  {\n    value: 'xpm',\n    label: 'XPM',\n  },\n  {\n    value: 'xproc',\n    label: 'XProc',\n  },\n  {\n    value: 'xquery',\n    label: 'XQuery',\n  },\n  {\n    value: 'xs',\n    label: 'XS',\n  },\n  {\n    value: 'xslt',\n    label: 'XSLT',\n  },\n  {\n    value: 'xtend',\n    label: 'Xtend',\n  },\n  {\n    value: 'yacc',\n    label: 'Yacc',\n  },\n  {\n    value: 'yaml',\n    label: 'YAML',\n  },\n  {\n    value: 'yang',\n    label: 'YANG',\n  },\n  {\n    value: 'yara',\n    label: 'YARA',\n  },\n  {\n    value: 'zephir',\n    label: 'Zephir',\n  },\n  {\n    value: 'zimpl',\n    label: 'Zimpl',\n  },\n];\n\nexport const LANGUAGE_COLOR_MAP = {\n  '1C Enterprise': '#814CCC',\n  ABAP: '#E8274B',\n  ActionScript: '#882B0F',\n  Ada: '#02f88c',\n  Agda: '#315665',\n  'AGS Script': '#B9D9FF',\n  Alloy: '#64C800',\n  'Alpine Abuild': null,\n  AMPL: '#E6EFBB',\n  AngelScript: '#C7D7DC',\n  ANTLR: '#9DC3FF',\n  Apex: null,\n  'API Blueprint': '#2ACCA8',\n  APL: '#5A8164',\n  'Apollo Guidance Computer': null,\n  AppleScript: '#101F1F',\n  Arc: '#aa2afe',\n  ASP: '#6a40fd',\n  AspectJ: '#a957b0',\n  Assembly: '#6E4C13',\n  Asymptote: '#4a0c0c',\n  ATS: '#1ac620',\n  Augeas: null,\n  AutoHotkey: '#6594b9',\n  AutoIt: '#1C3552',\n  Awk: null,\n  Ballerina: '#FF5000',\n  Batchfile: '#C1F12E',\n  Befunge: null,\n  Bison: null,\n  BitBake: null,\n  BlitzBasic: null,\n  BlitzMax: '#cd6400',\n  Bluespec: null,\n  Boo: '#d4bec1',\n  Brainfuck: '#2F2530',\n  Brightscript: null,\n  Bro: null,\n  C: '#555555',\n  'C#': '#178600',\n  'C++': '#f34b7d',\n  'C2hs Haskell': null,\n  \"Cap'n Proto\": null,\n  CartoCSS: null,\n  Ceylon: '#dfa535',\n  Chapel: '#8dc63f',\n  Charity: null,\n  ChucK: null,\n  Cirru: '#ccccff',\n  Clarion: '#db901e',\n  Clean: '#3F85AF',\n  Click: '#E4E6F3',\n  CLIPS: null,\n  Clojure: '#db5855',\n  CMake: null,\n  COBOL: null,\n  CoffeeScript: '#244776',\n  ColdFusion: '#ed2cd6',\n  'ColdFusion CFC': null,\n  'Common Lisp': '#3fb68b',\n  'Common Workflow Language': '#B5314C',\n  'Component Pascal': '#B0CE4E',\n  Cool: null,\n  Coq: null,\n  Crystal: '#000100',\n  Csound: null,\n  'Csound Document': null,\n  'Csound Score': null,\n  CSS: '#563d7c',\n  Cuda: '#3A4E3A',\n  CWeb: null,\n  Cycript: null,\n  Cython: null,\n  D: '#ba595e',\n  Dart: '#00B4AB',\n  DataWeave: '#003a52',\n  'DIGITAL Command Language': null,\n  DM: '#447265',\n  Dockerfile: '#384d54',\n  Dogescript: '#cca760',\n  DTrace: null,\n  Dylan: '#6c616e',\n  E: '#ccce35',\n  eC: '#913960',\n  ECL: '#8a1267',\n  ECLiPSe: null,\n  Eiffel: '#946d57',\n  Elixir: '#6e4a7e',\n  Elm: '#60B5CC',\n  'Emacs Lisp': '#c065db',\n  EmberScript: '#FFF4F3',\n  EQ: '#a78649',\n  Erlang: '#B83998',\n  'F#': '#b845fc',\n  'F*': '#572e30',\n  Factor: '#636746',\n  Fancy: '#7b9db4',\n  Fantom: '#14253c',\n  'Filebench WML': null,\n  Filterscript: null,\n  fish: null,\n  FLUX: '#88ccff',\n  Forth: '#341708',\n  Fortran: '#4d41b1',\n  FreeMarker: '#0050b2',\n  Frege: '#00cafe',\n  'Game Maker Language': '#71b417',\n  GAMS: null,\n  GAP: null,\n  'GCC Machine Description': null,\n  GDB: null,\n  GDScript: '#355570',\n  Genie: '#fb855d',\n  Genshi: null,\n  'Gentoo Ebuild': null,\n  'Gentoo Eclass': null,\n  Gherkin: '#5B2063',\n  GLSL: null,\n  Glyph: '#c1ac7f',\n  Gnuplot: '#f0a9f0',\n  Go: '#00ADD8',\n  Golo: '#88562A',\n  Gosu: '#82937f',\n  Grace: null,\n  'Grammatical Framework': '#79aa7a',\n  Groovy: '#e69f56',\n  'Groovy Server Pages': null,\n  Hack: '#878787',\n  Harbour: '#0e60e3',\n  Haskell: '#5e5086',\n  Haxe: '#df7900',\n  HCL: null,\n  HiveQL: '#dce200',\n  HLSL: null,\n  HTML: '#e34c26',\n  Hy: '#7790B2',\n  HyPhy: null,\n  IDL: '#a3522f',\n  Idris: '#b30000',\n  'IGOR Pro': null,\n  'Inform 7': null,\n  'Inno Setup': null,\n  Io: '#a9188d',\n  Ioke: '#078193',\n  Isabelle: '#FEFE00',\n  'Isabelle ROOT': null,\n  J: '#9EEDFF',\n  Jasmin: null,\n  Java: '#b07219',\n  'Java Server Pages': null,\n  JavaScript: '#f1e05a',\n  JFlex: null,\n  Jison: null,\n  'Jison Lex': null,\n  Jolie: '#843179',\n  JSONiq: '#40d47e',\n  Jsonnet: '#0064bd',\n  JSX: null,\n  Julia: '#a270ba',\n  'Jupyter Notebook': '#DA5B0B',\n  Kotlin: '#F18E33',\n  KRL: '#28430A',\n  LabVIEW: null,\n  Lasso: '#999999',\n  Lean: null,\n  Lex: '#DBCA00',\n  LFE: '#4C3023',\n  LilyPond: null,\n  Limbo: null,\n  'Literate Agda': null,\n  'Literate CoffeeScript': null,\n  'Literate Haskell': null,\n  LiveScript: '#499886',\n  LLVM: '#185619',\n  Logos: null,\n  Logtalk: null,\n  LOLCODE: '#cc9900',\n  LookML: '#652B81',\n  LoomScript: null,\n  LSL: '#3d9970',\n  Lua: '#000080',\n  M: null,\n  M4: null,\n  M4Sugar: null,\n  Makefile: '#427819',\n  Mako: null,\n  Mask: '#f97732',\n  Mathematica: null,\n  MATLAB: '#e16737',\n  Max: '#c4a79c',\n  MAXScript: '#00a6a6',\n  mcfunction: '#E22837',\n  Mercury: '#ff2b2b',\n  Meson: '#007800',\n  Metal: '#8f14e9',\n  MiniD: null,\n  Mirah: '#c7a938',\n  Modelica: null,\n  'Modula-2': null,\n  'Modula-3': '#223388',\n  'Module Management System': null,\n  Monkey: null,\n  Moocode: null,\n  MoonScript: null,\n  MQL4: '#62A8D6',\n  MQL5: '#4A76B8',\n  MTML: '#b7e1f4',\n  MUF: null,\n  mupad: null,\n  Myghty: null,\n  NCL: '#28431f',\n  Nearley: '#990000',\n  Nemerle: '#3d3c6e',\n  nesC: '#94B0C7',\n  NetLinx: '#0aa0ff',\n  'NetLinx+ERB': '#747faa',\n  NetLogo: '#ff6375',\n  NewLisp: '#87AED7',\n  Nextflow: '#3ac486',\n  Nim: '#37775b',\n  Nit: '#009917',\n  Nix: '#7e7eff',\n  NSIS: null,\n  Nu: '#c9df40',\n  NumPy: null,\n  'Objective-C': '#438eff',\n  'Objective-C++': '#6866fb',\n  'Objective-J': '#ff0c5a',\n  OCaml: '#3be133',\n  Omgrofl: '#cabbff',\n  ooc: '#b0b77e',\n  Opa: null,\n  Opal: '#f7ede0',\n  OpenCL: null,\n  'OpenEdge ABL': null,\n  'OpenRC runscript': null,\n  OpenSCAD: null,\n  Ox: null,\n  Oxygene: '#cdd0e3',\n  Oz: '#fab738',\n  P4: '#7055b5',\n  Pan: '#cc0000',\n  Papyrus: '#6600cc',\n  Parrot: '#f3ca0a',\n  'Parrot Assembly': null,\n  'Parrot Internal Representation': null,\n  Pascal: '#E3F171',\n  Pawn: '#dbb284',\n  Pep8: '#C76F5B',\n  Perl: '#0298c3',\n  'Perl 6': '#0000fb',\n  PHP: '#4F5D95',\n  PicoLisp: null,\n  PigLatin: '#fcd7de',\n  Pike: '#005390',\n  PLpgSQL: null,\n  PLSQL: '#dad8d8',\n  PogoScript: '#d80074',\n  Pony: null,\n  PostScript: '#da291c',\n  'POV-Ray SDL': null,\n  PowerBuilder: '#8f0f8d',\n  PowerShell: '#012456',\n  Processing: '#0096D8',\n  Prolog: '#74283c',\n  'Propeller Spin': '#7fa2a7',\n  Puppet: '#302B6D',\n  PureBasic: '#5a6986',\n  PureScript: '#1D222D',\n  Python: '#3572A5',\n  'Python console': null,\n  q: '#0040cd',\n  QMake: null,\n  QML: '#44a51c',\n  Quake: '#882233',\n  R: '#198CE7',\n  Racket: '#3c5caa',\n  Ragel: '#9d5200',\n  RAML: '#77d9fb',\n  Rascal: '#fffaa0',\n  REALbasic: null,\n  Reason: null,\n  Rebol: '#358a5b',\n  Red: '#f50000',\n  Redcode: null,\n  \"Ren'Py\": '#ff7f7f',\n  RenderScript: null,\n  REXX: null,\n  Ring: '#2D54CB',\n  RobotFramework: null,\n  Roff: '#ecdebe',\n  Rouge: '#cc0088',\n  RPC: null,\n  Ruby: '#701516',\n  RUNOFF: '#665a4e',\n  Rust: '#dea584',\n  Sage: null,\n  SaltStack: '#646464',\n  SAS: '#B34936',\n  Scala: '#c22d40',\n  Scheme: '#1e4aec',\n  Scilab: null,\n  sed: '#64b970',\n  Self: '#0579aa',\n  ShaderLab: null,\n  Shell: '#89e051',\n  ShellSession: null,\n  Shen: '#120F14',\n  Slash: '#007eff',\n  Slice: '#003fa2',\n  Smali: null,\n  Smalltalk: '#596706',\n  Smarty: null,\n  SMT: null,\n  Solidity: '#AA6746',\n  SourcePawn: '#5c7611',\n  SQF: '#3F3F3F',\n  SQLPL: null,\n  Squirrel: '#800000',\n  'SRecode Template': '#348a34',\n  Stan: '#b2011d',\n  'Standard ML': '#dc566d',\n  Stata: null,\n  SuperCollider: '#46390b',\n  Swift: '#ffac45',\n  SystemVerilog: '#DAE1C2',\n  Tcl: '#e4cc98',\n  Tcsh: null,\n  Terra: '#00004c',\n  TeX: '#3D6117',\n  Thrift: null,\n  'TI Program': '#A0AA87',\n  TLA: null,\n  Turing: '#cf142b',\n  TXL: null,\n  TypeScript: '#2b7489',\n  'Unified Parallel C': null,\n  'Unix Assembly': null,\n  Uno: null,\n  UnrealScript: '#a54c4d',\n  UrWeb: null,\n  Vala: '#fbe5cd',\n  VCL: '#148AA8',\n  Verilog: '#b2b7f8',\n  VHDL: '#adb2cb',\n  'Vim script': '#199f4b',\n  'Visual Basic': '#945db7',\n  Volt: '#1F1F1F',\n  Vue: '#2c3e50',\n  wdl: '#42f1f4',\n  WebAssembly: '#04133b',\n  WebIDL: null,\n  wisp: '#7582D1',\n  X10: '#4B6BEF',\n  xBase: '#403a40',\n  XC: '#99DA07',\n  Xojo: null,\n  XProc: null,\n  XQuery: '#5232e7',\n  XS: null,\n  XSLT: '#EB8CEB',\n  Xtend: null,\n  Yacc: '#4B6C4B',\n  YARA: '#220000',\n  YASnippet: '#32AB90',\n  ZAP: '#0d665e',\n  Zephir: '#118f9e',\n  Zig: '#ec915c',\n  ZIL: '#dc75e5',\n  Zimpl: null,\n};\n\nexport default LANGUAGE_LIST;\n"
  },
  {
    "path": "src/pages/news/content/index.module.scss",
    "content": ".content-wrap {\n  padding: 20px;\n  height: 100vh;\n  background: $bg;\n}\n"
  },
  {
    "path": "src/pages/news/content/index.tsx",
    "content": "import ActivityItem, { ActivityItemDataType } from '@/components/activity-item';\nimport Empty from '@/components/empty';\nimport LoadMore from '@/components/load-more';\nimport SkeletonCard from '@/components/skeleton-card';\nimport {\n  useActivityListPublicEvents,\n  useActivityListReceivedEventsForUser,\n} from '@/github/githubComponents';\nimport useInfiniteGithubRequest from '@/hooks/useInfiniteGithubRequest';\nimport { View } from '@tarojs/components';\nimport Taro from '@tarojs/taro';\nimport { useEffect } from 'react';\nimport styles from './index.module.scss';\n\nconst NewContent = ({ username }) => {\n  const { data, hasMore, isError, isLoading } =\n    useInfiniteGithubRequest<ActivityItemDataType>(\n      !username\n        ? useActivityListPublicEvents\n        : useActivityListReceivedEventsForUser,\n      { pathParams: { username } },\n    );\n\n  useEffect(() => {\n    const title = username ? 'Received News' : 'Global News';\n    Taro.setNavigationBarTitle({ title });\n  }, [username]);\n\n  return (\n    <SkeletonCard isError={isError} isLoading={isLoading}>\n      {data?.length > 0 ? (\n        <View className={styles['content-wrap']}>\n          {data.map((item) => {\n            return <ActivityItem item={item} key={item.id}></ActivityItem>;\n          })}\n          <LoadMore hasMore={hasMore}></LoadMore>\n        </View>\n      ) : (\n        <Empty></Empty>\n      )}\n    </SkeletonCard>\n  );\n};\n\nexport default NewContent;\n"
  },
  {
    "path": "src/pages/news/index.config.ts",
    "content": "export default {\n  navigationBarTitleText: 'News',\n  enablePullDownRefresh: true,\n};\n"
  },
  {
    "path": "src/pages/news/index.tsx",
    "content": "import { View } from '@tarojs/components';\nimport { useSelector } from 'react-redux';\nimport NewContent from './content';\n\nconst News = () => {\n  const username = useSelector<any, any>((state) => state.user.username);\n\n  return (\n    <View>\n      <NewContent username={username}></NewContent>\n    </View>\n  );\n};\n\nexport default News;\n"
  },
  {
    "path": "src/pages/notifications/index.module.scss",
    "content": ""
  },
  {
    "path": "src/pages/notifications/index.tsx",
    "content": "import { View } from '@tarojs/components';\n\nconst Notifications = () => {\n  return <View>Notifications</View>;\n};\n\nexport default Notifications;\n"
  },
  {
    "path": "src/pages/profile/content.tsx",
    "content": "import SkeletonCard from '@/components/skeleton-card';\nimport UserInfo from '@/components/user-info';\nimport { useUsersGetAuthenticated } from '@/github/githubComponents';\nimport { LOGOUT } from '@/store/constatnts';\nimport Taro, { usePullDownRefresh, useShareAppMessage } from '@tarojs/taro';\nimport { useDispatch } from 'react-redux';\n\nconst ProfileContent = () => {\n  const dispatch = useDispatch();\n  const {\n    data: userInfo,\n    refetch,\n    isError,\n    isLoading,\n  } = useUsersGetAuthenticated({});\n\n  useShareAppMessage((res) => {\n    const title = `[${userInfo!.login}] ${userInfo!.bio}`;\n\n    return {\n      title,\n      path: `/pages/developer/index?name=${userInfo!.login}`,\n    };\n  });\n\n  usePullDownRefresh(() => {\n    refetch();\n  });\n\n  const handleLogout = () => {\n    Taro.showModal({\n      content: '确认退出?',\n      cancelText: 'No',\n      cancelColor: '#fb3e3b',\n      confirmText: 'Yes',\n      confirmColor: '#007afb',\n\n      success(res) {\n        if (res.confirm) {\n          dispatch({ type: LOGOUT });\n          Taro.switchTab({ url: '/pages/trending/index' });\n        } else if (res.cancel) {\n        }\n      },\n    });\n  };\n\n  return (\n    <SkeletonCard isError={isError} isLoading={isLoading}>\n      <UserInfo userInfo={userInfo} onLogout={handleLogout}></UserInfo>\n    </SkeletonCard>\n  );\n};\n\nexport default ProfileContent;\n"
  },
  {
    "path": "src/pages/profile/index.config.ts",
    "content": "export default {\n  navigationBarTitleText: 'Profile',\n  enablePullDownRefresh: true,\n};\n"
  },
  {
    "path": "src/pages/profile/index.module.scss",
    "content": ".wrap {\n}\n\n.header {\n  padding: 20px;\n  display: flex;\n  align-items: space-between;\n  background: $itemBg;\n}\n\n.divide {\n  height: 1px;\n  width: 100vw;\n}\n\n.basic {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: auto;\n  font-size: 25px;\n}\n.name {\n  font-size: 32px;\n  font-weight: 600;\n  color: $primary;\n}\n\n.bio {\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-line-clamp: 2;\n  word-break: break-all;\n  word-wrap: break-word;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  color: $text-color;\n}\n\n.Joined {\n  font-size: 25px;\n  font-weight: 400;\n}\n\n.info {\n  margin-top: 30px;\n  padding: 20px;\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n}\n\n.meta {\n  margin: 0;\n}\n\n.nav {\n  display: flex;\n  justify-content: space-around;\n  align-items: center;\n}\n\n.nav-item {\n  flex: 1;\n  text-align: center;\n}\n\n.item-count {\n  color: rgb(43, 43, 43);\n  font-weight: 600;\n  font-size: 35px;\n}\n\n.item-label {\n  font-weight: 400;\n  font-size: 28px;\n  text-transform: capitalize;\n}\n\n.logout {\n  padding: 30px;\n}\n"
  },
  {
    "path": "src/pages/profile/index.tsx",
    "content": "import NoAuthority from '@/components/no-authority';\nimport { Block } from '@tarojs/components';\nimport { useSelector } from 'react-redux';\nimport ProfileContent from './content';\n\nconst Profile = () => {\n  const username = useSelector<any, any>((state) => state.user.username);\n\n  return (\n    <Block>\n      {username ? (\n        <ProfileContent></ProfileContent>\n      ) : (\n        <NoAuthority></NoAuthority>\n      )}\n    </Block>\n  );\n};\n\nexport default Profile;\n"
  },
  {
    "path": "src/pages/profile/issues.tsx",
    "content": "import Empty from '@/components/empty';\nimport { getUserIssues } from '@/services/user';\nimport { Block, View } from '@tarojs/components';\nimport { usePullDownRefresh, useReachBottom, useRouter } from '@tarojs/taro';\nimport { useEffect, useState } from 'react';\nimport { AtTabs, AtTabsPane } from 'taro-ui';\nimport LoadMore from '../../components/load-more/index';\nimport { issueDefaultParams } from '../../constants';\nimport { Issue } from '../../services/issues';\nimport IssueItem from '../issues/issue-item';\n\nconst UserIssues = () => {\n  const {\n    params: { owner },\n  } = useRouter();\n\n  const [count, setCount] = useState(0);\n  const [curTab, setTab] = useState(0);\n  const [openHasMore, setOpenHasMore] = useState(true);\n  const [closedHasMore, setClosedHasMore] = useState(true);\n  const [openList, setOpenList] = useState<Issue[] | null>(null);\n  const [closedList, setClosedtList] = useState<Issue[] | null>(null);\n\n  const [openParams, setOpenParams] = useState({\n    ...issueDefaultParams,\n    filter: 'all',\n    state: 'open',\n  });\n  const [closedParams, setClosedParams] = useState({\n    ...issueDefaultParams,\n    filter: 'all',\n    state: 'closed',\n  });\n\n  usePullDownRefresh(() => {\n    setOpenParams({ ...openParams, page: 1 });\n    setClosedParams({ ...closedParams, page: 1 });\n    setClosedHasMore(true);\n    setOpenHasMore(true);\n    setCount(count + 1);\n  });\n\n  useReachBottom(() => {\n    if (curTab === 0) {\n      setOpenParams({ ...openParams, page: openParams.page! + 1 });\n    } else {\n      setClosedParams({ ...closedParams, page: closedParams.page! + 1 });\n    }\n  });\n\n  // TODO fix request more\n  const getClosedIssues = (params) => {\n    getUserIssues(params).then((data) => {\n      if (data) {\n        if (closedList) {\n          setClosedtList([...closedList, ...data]);\n        } else {\n          setClosedtList(data);\n        }\n        setClosedtList(data);\n        if (data.length < params.per_page) {\n          setClosedHasMore(false);\n        }\n      }\n    });\n  };\n\n  useEffect(() => {\n    if (openHasMore) {\n      getUserIssues(openParams).then((data) => {\n        if (data) {\n          if (openList) {\n            setOpenList([...openList, ...data]);\n          } else {\n            setOpenList(data);\n          }\n          if (data.length < openParams.per_page!) {\n            setOpenHasMore(false);\n          }\n        }\n      });\n    }\n  }, [openParams, count]);\n\n  useEffect(() => {\n    if (openList && closedHasMore) {\n      getClosedIssues(closedParams);\n    }\n  }, [closedParams, count]);\n\n  useEffect(() => {\n    if (!closedList && curTab === 1) {\n      getClosedIssues(closedParams);\n    }\n  }, [curTab]);\n\n  const tabList = [\n    { title: 'open', data: openList, hasMore: openHasMore },\n    { title: 'closed', data: closedList, hasMore: closedHasMore },\n  ];\n\n  const handleTabClick = (val) => {\n    setTab(val);\n  };\n\n  return (\n    <View>\n      <AtTabs current={curTab} tabList={tabList} onClick={handleTabClick}>\n        {tabList.map((tab, idx) => {\n          const data = tab.data;\n          return (\n            <AtTabsPane key={tab.title} current={curTab} index={idx}>\n              <View>\n                {data ? (\n                  <Block>\n                    {data.map((item) => {\n                      return <IssueItem key={item.id} issue={item}></IssueItem>;\n                    })}\n                    <LoadMore hasMore={tab.hasMore}></LoadMore>\n                  </Block>\n                ) : (\n                  <Empty></Empty>\n                )}\n              </View>\n            </AtTabsPane>\n          );\n        })}\n      </AtTabs>\n    </View>\n  );\n};\n\nUserIssues.config = {\n  navigationBarTitleText: 'Issues',\n};\n\nexport default UserIssues;\n"
  },
  {
    "path": "src/pages/repos/content/index.module.scss",
    "content": ""
  },
  {
    "path": "src/pages/repos/content/index.tsx",
    "content": "import Empty from '@/components/empty';\nimport Markdown from '@/components/markdown';\nimport useRequest from '@/hooks/useRequest';\nimport { getRawContent } from '@/services/repos';\nimport { getCodeMarkup, isImageFile } from '@/utils/repo';\nimport { View } from '@tarojs/components';\nimport Taro, { useRouter } from '@tarojs/taro';\nimport { useEffect } from 'react';\n\nconst Content = () => {\n  const {\n    params: { url },\n  } = useRouter();\n  if (!url) {\n    return null;\n  }\n  const full_file_path = url.split('repos/')[1];\n\n  const [rawContent, refreshContent] = useRequest<string | null>(\n    full_file_path,\n    getRawContent,\n  );\n\n  useEffect(() => {\n    const title = full_file_path.replace('/contents', '');\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  if (!rawContent) {\n    return <Empty></Empty>;\n  }\n\n  const file_url = url.split('?')[0];\n  let content = rawContent;\n\n  // stringify object\n  if (typeof rawContent === 'object') {\n    content = JSON.stringify(rawContent, null, 2);\n  }\n\n  if (isImageFile(file_url)) {\n    content = '![](' + file_url + ')';\n  } else {\n    const markup = getCodeMarkup(file_url);\n\n    if (file_url.endsWith('ipynb')) {\n      // TODO\n    } else if (markup) {\n      content = '```' + markup + '\\n' + content + '\\n```';\n    }\n  }\n\n  return (\n    <View>{<Markdown md={content} full_name={full_file_path}></Markdown>}</View>\n  );\n};\n\nContent.config = {\n  enablePullDownRefresh: false,\n};\n\nexport default Content;\n"
  },
  {
    "path": "src/pages/repos/contributors/index.module.scss",
    "content": ".user {\n  display: flex;\n  align-items: center;\n  margin: 20px;\n  padding: 8px 0;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n}\n"
  },
  {
    "path": "src/pages/repos/contributors/index.tsx",
    "content": "import { useReposListContributors } from '@/github/githubComponents';\nimport ListRender from '../list-render';\n\nconst Contributors = () => {\n  return (\n    <ListRender\n      name={'Contributors'}\n      useRequest={useReposListContributors}\n    ></ListRender>\n  );\n};\n\nexport default Contributors;\n"
  },
  {
    "path": "src/pages/repos/files/index.module.scss",
    "content": ".files-wrap {\n  padding: 20px;\n}\n.file {\n  padding: 10px;\n}\n"
  },
  {
    "path": "src/pages/repos/files/index.tsx",
    "content": "import useRequest from '@/hooks/useRequest';\nimport { File, getContents } from '@/services/repos';\nimport { bytesToSize } from '@/utils/size';\nimport { View } from '@tarojs/components';\nimport Taro, { useRouter } from '@tarojs/taro';\nimport { useEffect } from 'react';\nimport { AtList, AtListItem } from 'taro-ui';\nimport styles from './index.module.scss';\n\nconst Files = () => {\n  const {\n    params: { owner, repo, url },\n  } = useRouter();\n  let full_url: string;\n  if (url) {\n    full_url = '/repos/' + url.split('repos/')[1];\n  } else {\n    full_url = `/repos/${owner}/${repo}/contents`;\n  }\n\n  const [files, refresh] = useRequest<File[] | null>(full_url, getContents);\n  // TODO sort by name & type\n\n  useEffect(() => {\n    const title = full_url.split('repos/')[1].replace('/contents', '');\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  const handleNavTo = (url: string, isFolder: boolean) => () => {\n    let target_url: string;\n    if (isFolder) {\n      target_url = `/pages/repos/files/index?url=${url}`;\n    } else {\n      target_url = `/pages/repos/content/index?url=${url}`;\n    }\n    Taro.navigateTo({ url: target_url });\n  };\n  return (\n    <View>\n      <View className={styles['files-wrap']}>\n        <AtList hasBorder={false}>\n          {files &&\n            files.map((item) => {\n              const { name, path, type, download_url, url, size } = item;\n              // TODO check file type to open files or content\n              const isFolder = type === 'dir';\n              return (\n                <View key=\"url\" className={styles['file-item']}>\n                  <AtListItem\n                    className={styles.file}\n                    hasBorder={false}\n                    title={`${isFolder ? `🗂️` : `📄`}${name}`}\n                    onClick={handleNavTo(url, isFolder)}\n                    arrow={isFolder ? 'right' : undefined}\n                    extraText={isFolder ? '' : `${bytesToSize(size)}`}\n                  ></AtListItem>\n                </View>\n              );\n            })}\n        </AtList>\n      </View>\n    </View>\n  );\n};\n\nexport default Files;\n"
  },
  {
    "path": "src/pages/repos/forks/index.module.scss",
    "content": ""
  },
  {
    "path": "src/pages/repos/forks/index.tsx",
    "content": "import { useReposListForks } from '@/github/githubComponents';\nimport ListRender from '../list-render';\n\nconst Forks = () => {\n  return (\n    <ListRender\n      getItems={(data) => (data ? data.map((item) => item.owner) : null)}\n      name={'Forks'}\n      useRequest={useReposListForks}\n    ></ListRender>\n  );\n};\n\nexport default Forks;\n"
  },
  {
    "path": "src/pages/repos/index.config.ts",
    "content": "export default {\n  navigationBarTitleText: 'Repository',\n  enablePullDownRefresh: true,\n};\n"
  },
  {
    "path": "src/pages/repos/index.module.scss",
    "content": ".wrap {\n  font-size: 28px;\n  background: $bg;\n  min-height: 100vh;\n}\n.header {\n  display: flex;\n  padding: 30px 20px 10px;\n  background: white;\n}\n\n.avatar-img {\n  min-width: 80px;\n}\n\n.full-name {\n  font-size: 34px;\n  font-weight: 600;\n  color: $primary;\n  white-space: pre-wrap;\n}\n\n.name {\n}\n\n.desc {\n  margin-top: 10px;\n  font-size: 25px;\n  font-weight: 500;\n  line-height: 1.3em;\n  color: #828282;\n}\n\n.language {\n}\n\n.meta {\n  margin-top: 5px;\n  font-size: 25px;\n  font-weight: 450;\n  color: $primary-text-color;\n}\n.divider {\n  height: 1px;\n}\n\n.repo-num {\n  display: flex;\n  justify-content: space-around;\n  align-items: center;\n  padding: 25px 20px 20px;\n  background-color: #fff;\n  line-height: 1.2em;\n}\n\n.num-item {\n  text-align: center;\n}\n\n.num {\n  margin-top: 10px;\n  font-size: 33px;\n  font-weight: 600;\n}\n.label {\n  font-size: 28px;\n  text-transform: capitalize;\n}\n\n.repo-info {\n  margin-top: 30px;\n  box-sizing: border-box;\n  background: rgba(255, 255, 255, 0.95);\n}\n\n.info-issues {\n}\n\n.readme {\n  margin-top: 0px;\n  padding: 0 20px;\n  @extend .repo-info;\n}\n\n.actions-wrap {\n  position: fixed;\n  right: 26px;\n  bottom: 26px;\n  z-index: 1;\n}\n\n.actions {\n  display: flex;\n  align-items: center;\n  justify-content: space-around;\n}\n\n.action-item {\n  position: relative;\n  margin: 10px;\n  border-radius: 50%;\n  text-align: center;\n}\n\n.action-label {\n  padding-top: 10px;\n  font-weight: 400;\n  text-transform: capitalize;\n}\n\n.at-float-layout__container,\n.at-float-layout,\n.at-float-layout .layout-body__content,\n.at-float-layout .layout-body {\n  min-height: auto;\n}\n\n.at-float-layout .layout-body__content {\n  padding: 30px 18px;\n}\n\n.share-btn {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  background: green;\n  z-index: 900;\n  border: none;\n  background: none;\n  padding: 0;\n\n  &::after {\n    border: none;\n  }\n}\n"
  },
  {
    "path": "src/pages/repos/index.tsx",
    "content": "import Avatar from '@/components/avatar';\nimport FontIcon from '@/components/font-icon';\nimport SkeletonCard from '@/components/skeleton-card';\nimport {\n  useActivityCheckRepoIsStarredByAuthenticatedUser,\n  useActivityStarRepoForAuthenticatedUser,\n  useActivityUnstarRepoForAuthenticatedUser,\n  useReposGet,\n} from '@/github/githubComponents';\nimport { copyText } from '@/utils/common';\nimport { githubHttpsUrl } from '@/utils/repo';\nimport { Block, ITouchEvent, Text, View } from '@tarojs/components';\nimport Taro, { useRouter, useShareAppMessage } from '@tarojs/taro';\nimport { useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { AtIcon, AtList } from 'taro-ui';\nimport Empty from '../../components/empty';\nimport ListItem from '../../components/list-item';\nimport { getTimeAgo } from '../../utils/date';\nimport { bytesToSize } from '../../utils/size';\nimport { LANGUAGE_COLOR_MAP } from '../my-languages/languages';\nimport styles from './index.module.scss';\nimport Readme from './readme';\n\nconst Repository = () => {\n  let {\n    params: { owner, repo, full_name },\n  } = useRouter();\n\n  const username = useSelector<any, any>((state) => state.user.username);\n\n  if (!owner && full_name) {\n    [owner, repo] = full_name!?.split('/');\n  }\n  if (!full_name && owner) {\n    full_name = `${owner}/${repo}`;\n  }\n\n  const pathParams = { owner: owner!, repo: repo! };\n\n  const readmeRef = useRef<{ reload: () => void }>();\n\n  const [isStarred, setIsStarred] = useState(false);\n\n  const { data: repoInfo, isError, isLoading } = useReposGet({ pathParams });\n\n  useActivityCheckRepoIsStarredByAuthenticatedUser(\n    {\n      pathParams,\n    },\n    {\n      enabled: !!username,\n      onSuccess(data) {\n        if (!data && data !== null) {\n          setIsStarred(true);\n        }\n      },\n    },\n  );\n\n  const { mutateAsync: updateStarred } =\n    useActivityStarRepoForAuthenticatedUser({});\n\n  const { mutateAsync: updateUnstarred } =\n    useActivityUnstarRepoForAuthenticatedUser({});\n\n  useShareAppMessage(() => {\n    const title = `[${full_name}] ${repoInfo!.description}`;\n\n    return {\n      title,\n      path: `/pages/repos/index?full_name=${full_name}`,\n    };\n  });\n\n  const handleReloadIconClick = () => {\n    readmeRef.current?.reload();\n  };\n\n  const handleNavTo = (url) => {\n    Taro.navigateTo({ url });\n  };\n\n  const handleStarIconClick = async (event: ITouchEvent) => {\n    event.stopPropagation();\n    event.preventDefault();\n    let res;\n    if (isStarred) {\n      res = await updateUnstarred({ pathParams });\n    } else {\n      res = await updateStarred({ pathParams });\n    }\n\n    if (!res && res !== null) {\n      setIsStarred(!isStarred);\n      Taro.showToast({ title: '操作成功！', icon: 'none' });\n    }\n  };\n\n  return (\n    <SkeletonCard isError={isError} isLoading={isLoading}>\n      <View className={styles.wrap}>\n        <View className={styles.repo}>\n          {repoInfo ? (\n            (() => {\n              const {\n                name,\n                // full_name,\n                owner: ownerInfo = {},\n                description,\n                pushed_at,\n                size,\n                stargazers_count,\n                watchers_count,\n                language,\n                forks_count,\n                open_issues_count,\n                license,\n                subscribers_count,\n              } = repoInfo || {};\n\n              const { login, avatar_url } = ownerInfo as any;\n\n              const params = `owner=${login}&repo=${name}`;\n              const authorUrl = `/pages/developer/index?name=${login}`;\n              const filesUrl = `/pages/repos/files/index?${params}`;\n              const activityUrl = `/pages/activity/repo?${params}`;\n              const issuesUrl = `/pages/issues/index?${params}`;\n              const commitsUrl = `/pages/commits/index?${params}`;\n              const contributorsUrl = `/pages/repos/contributors/index?${params}`;\n              const watchsUrl = `/pages/repos/watchs/index?${params}`;\n              const starsUrl = `/pages/repos/stars/index?${params}`;\n              const forksUrl = `/pages/repos/forks/index?${params}`;\n              return (\n                <Block>\n                  <View className={styles.header}>\n                    <Avatar\n                      className={styles['avatar-img']}\n                      username={login}\n                      size={45}\n                      circle={false}\n                      url={`${avatar_url}&s=96`}\n                    ></Avatar>\n                    <View>\n                      <View className={styles['full-name']}>\n                        <Text\n                          className={styles.login}\n                          onClick={handleNavTo.bind(null, authorUrl)}\n                        >\n                          {login}\n                        </Text>\n                        /\n                        <Text\n                          className={styles.name}\n                          onClick={() => {\n                            const data = `${githubHttpsUrl}/${full_name}`;\n                            return copyText(data);\n                          }}\n                        >\n                          {name}\n                        </Text>\n                      </View>\n                      <View className={styles.desc}>{description || ''}</View>\n                      {/* <View className={styles.meta}>Created {getTimeAgo(created_at)}</View> */}\n                      <View className={styles.meta}>\n                        Updated {getTimeAgo(pushed_at)}\n                      </View>\n                    </View>\n                  </View>\n\n                  <View className={styles.divider}></View>\n                  <View className={styles['repo-num']}>\n                    <View\n                      className={styles['num-item']}\n                      // onClick={handleNavTo.bind(null, starsUrl)}\n                    >\n                      <View className={styles.label}>\n                        {isStarred ? (\n                          <AtIcon\n                            size=\"26\"\n                            value=\"star-2\"\n                            customStyle={{ color: '#007afb' }}\n                          ></AtIcon>\n                        ) : (\n                          <AtIcon size=\"26\" value=\"star\"></AtIcon>\n                        )}\n                      </View>\n                      <View\n                        className={styles.num}\n                        onClick={handleStarIconClick}\n                      >\n                        {Number(stargazers_count).toLocaleString()}\n                      </View>\n                    </View>\n                    <View\n                      className={styles['num-item']}\n                      onClick={handleNavTo.bind(null, watchsUrl)}\n                    >\n                      <View className={styles.label}>\n                        <AtIcon size=\"26\" value=\"eye\"></AtIcon>\n                      </View>\n                      <View className={styles.num}>\n                        {Number(subscribers_count).toLocaleString()}\n                      </View>\n                    </View>\n                    <View\n                      className={styles['num-item']}\n                      onClick={handleNavTo.bind(null, forksUrl)}\n                    >\n                      <View className={styles.label}>\n                        <FontIcon size=\"26\" value=\"git-repo-forked\"></FontIcon>\n                      </View>\n                      <View className={styles.num}>\n                        {Number(forks_count).toLocaleString()}\n                      </View>\n                    </View>\n                  </View>\n\n                  <View className={styles['repo-info']}>\n                    <AtList hasBorder={false}>\n                      <ListItem\n                        onClick={handleNavTo.bind(null, filesUrl)}\n                        title={language! || 'null'}\n                        icon=\"code\"\n                        color={LANGUAGE_COLOR_MAP[language!] || '#002eb0'}\n                        extraText={`${bytesToSize(size!)}`}\n                      ></ListItem>\n                      <ListItem\n                        onClick={handleNavTo.bind(null, activityUrl)}\n                        title=\"Activity\"\n                        icon=\"activity\"\n                        color=\"#F44337\"\n                      ></ListItem>\n                      <ListItem\n                        onClick={handleNavTo.bind(null, issuesUrl)}\n                        title=\"Issues\"\n                        icon=\"info\"\n                        color=\"#EC407A\"\n                        extraText={`${open_issues_count}`}\n                      ></ListItem>\n                      <ListItem\n                        hasBorder={false}\n                        title=\"License\"\n                        arrow={null}\n                        icon=\"book\"\n                        color=\"#26ca7e\"\n                        extraText={(license && license.name) || ''}\n                      ></ListItem>\n                      {/* <AtListItem\n                   hasBorder={true}\n                   title=\"Pull requests\"\n                   extraText={default_branch}\n                 ></AtListItem> */}\n                    </AtList>\n                  </View>\n\n                  <View className={styles['repo-info']}>\n                    <AtList hasBorder={false}>\n                      <ListItem\n                        onClick={handleNavTo.bind(null, commitsUrl)}\n                        title=\"Commits\"\n                        icon=\"git-commit\"\n                        color=\"#2AB09D\"\n                      ></ListItem>\n                      <ListItem\n                        onClick={handleNavTo.bind(null, contributorsUrl)}\n                        icon=\"people\"\n                        color=\"#F99501\"\n                        title=\"Contributors\"\n                      ></ListItem>\n                      <ListItem\n                        hasBorder={false}\n                        title=\"Readme\"\n                        arrow={null}\n                        icon=\"book-open\"\n                        color=\"#3D76FF\"\n                        rightIcon={'reload'}\n                        onRightClick={handleReloadIconClick}\n                      ></ListItem>\n                      {/* <ListItem\n                   hasBorder={true}\n                   title=\"Branch\"\n                   extraText={default_branch}\n                 ></ListItem> */}\n                    </AtList>\n                  </View>\n                </Block>\n              );\n            })()\n          ) : (\n            <Empty></Empty>\n          )}\n        </View>\n        {repoInfo && (\n          <View className={styles.readme}>\n            {\n              <Readme\n                ref={readmeRef}\n                owner={owner}\n                repo={repo}\n                full_name={full_name}\n              ></Readme>\n            }\n          </View>\n        )}\n      </View>\n    </SkeletonCard>\n  );\n};\n\nexport default Repository;\n"
  },
  {
    "path": "src/pages/repos/list-render/index.tsx",
    "content": "import SkeletonCard from '@/components/skeleton-card';\nimport UserItem from '@/components/user-item';\nimport useInfiniteGithubRequest from '@/hooks/useInfiniteGithubRequest';\nimport Taro, { useRouter } from '@tarojs/taro';\nimport { useEffect } from 'react';\n\nconst ListRender = ({\n  name,\n  useRequest,\n  getItems,\n}: {\n  name: string;\n  useRequest: Function;\n  getItems?: (data) => any;\n}) => {\n  const {\n    params: { owner, repo },\n  } = useRouter();\n  const full_name = `${owner}/${repo}`;\n\n  const { data, hasMore, isLoading, isError } = useInfiniteGithubRequest(\n    useRequest,\n    {\n      pathParams: { repo, owner },\n      getItems,\n    },\n  );\n\n  useEffect(() => {\n    const title = `${full_name} - ${name}`;\n    Taro.setNavigationBarTitle({ title });\n  }, []);\n\n  return (\n    <SkeletonCard isLoading={isLoading} isError={isError}>\n      <UserItem data={data} hasMore={hasMore}></UserItem>\n    </SkeletonCard>\n  );\n};\n\nexport default ListRender;\n"
  },
  {
    "path": "src/pages/repos/readme/index.module.scss",
    "content": ".wrap {\n  max-height: 800px;\n  overflow: hidden;\n  position: relative;\n  padding-bottom: 150px;\n}\n\n.btn {\n  width: 300px;\n  position: absolute;\n  bottom: 15px;\n  left: 50%;\n  transform: translate(-50%);\n}\n"
  },
  {
    "path": "src/pages/repos/readme/index.tsx",
    "content": "import Markdown from '@/components/markdown';\nimport SkeletonCard from '@/components/skeleton-card';\nimport { useReposGetReadme } from '@/github/githubComponents';\nimport { Block, View } from '@tarojs/components';\nimport { forwardRef, useImperativeHandle, useState } from 'react';\nimport { AtButton, AtIcon } from 'taro-ui';\nimport styles from './index.module.scss';\n\nconst Readme = ({ owner, repo, full_name }, ref) => {\n  const { data, isError, isLoading, isFetching, refetch } = useReposGetReadme({\n    pathParams: { owner, repo },\n    headers: { Accept: 'application/vnd.github.v3.raw' },\n  });\n\n  const [showAll, setShowAll] = useState(false);\n\n  useImperativeHandle(ref, () => ({\n    reload: () => {\n      refetch();\n    },\n  }));\n\n  return (\n    <SkeletonCard isError={isError} isLoading={isFetching}>\n      {data && (\n        <View\n          className={styles.wrap}\n          style={showAll ? { maxHeight: 'fit-content' } : {}}\n        >\n          <Markdown md={data as any as string} full_name={full_name}></Markdown>\n          <AtButton\n            onClick={() => {\n              setShowAll(!showAll);\n            }}\n            className={styles.btn}\n            type=\"secondary\"\n            size=\"small\"\n            circle\n          >\n            {showAll ? (\n              <Block>\n                收起更多 <AtIcon value=\"chevron-up\"></AtIcon>\n              </Block>\n            ) : (\n              <Block>\n                查看更多 <AtIcon value=\"chevron-down\"></AtIcon>\n              </Block>\n            )}\n          </AtButton>\n        </View>\n      )}\n    </SkeletonCard>\n  );\n};\n\nexport default forwardRef(Readme);\n"
  },
  {
    "path": "src/pages/repos/stars/index.module.scss",
    "content": ""
  },
  {
    "path": "src/pages/repos/stars/index.tsx",
    "content": "import { useActivityListStargazersForRepo } from '@/github/githubComponents';\nimport ListRender from '../list-render';\n\nconst Stars = () => {\n  return (\n    <ListRender\n      name={'Stars'}\n      useRequest={useActivityListStargazersForRepo}\n    ></ListRender>\n  );\n};\n\nexport default Stars;\n"
  },
  {
    "path": "src/pages/repos/watchs/index.module.scss",
    "content": ""
  },
  {
    "path": "src/pages/repos/watchs/index.tsx",
    "content": "import { useActivityListWatchersForRepo } from '@/github/githubComponents';\nimport ListRender from '../list-render';\n\nconst Forks = () => {\n  return (\n    <ListRender\n      name={'Forks'}\n      useRequest={useActivityListWatchersForRepo}\n    ></ListRender>\n  );\n};\n\nexport default Forks;\n"
  },
  {
    "path": "src/pages/search/index.config.ts",
    "content": "export default {\n  navigationBarTitleText: 'Search',\n  enablePullDownRefresh: true,\n};\n"
  },
  {
    "path": "src/pages/search/index.module.scss",
    "content": ".wrap {\n  padding: 160px 0;\n  background: $bg;\n}\n\n.search-wrap {\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  overflow: hidden;\n  z-index: 2;\n}\n\n.sc {\n  position: fixed;\n  top: 82px;\n  left: 0;\n  right: 0;\n  z-index: 2;\n}\n\n.user-item {\n  display: flex;\n  align-items: center;\n  margin: 20px;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n}\n\n.history-tags {\n  display: flex;\n  padding: 20px;\n\n  flex-wrap: wrap;\n}\n\n.tag {\n  margin-bottom: 15px;\n  margin-left: 15px;\n}\n"
  },
  {
    "path": "src/pages/search/index.tsx",
    "content": "import usePageScrollBackToTop from '@/hooks/usePageScrollBackToTop';\nimport { Block, View } from '@tarojs/components';\nimport Taro from '@tarojs/taro';\nimport { useEffect, useState } from 'react';\nimport { AtSearchBar, AtTabs, AtTag } from 'taro-ui';\nimport styles from './index.module.scss';\nimport Issues from './issues';\nimport Repos from './repos';\nimport Users from './users';\n\nconst tabList = [\n  { title: 'Repositories' },\n  { title: 'Users' },\n  { title: 'Issues' },\n];\n\nconst Search = () => {\n  const [searchValue, setSearchValue] = useState('');\n  const [value, setValue] = useState('');\n  const [current, setCurrent] = useState(0);\n  const [searchHistory, setSearchHistory] = useState<string[]>([]);\n\n  useEffect(() => {\n    const history = Taro.getStorageSync('search_history') || [];\n    setSearchHistory(history);\n  }, []);\n\n  const BackToTop = usePageScrollBackToTop();\n\n  const onChange = (val: string) => {\n    if (!val) {\n      onClear();\n      return;\n    }\n    setValue(val);\n  };\n\n  const onClear = () => {\n    setValue('');\n    setSearchValue('');\n  };\n\n  const handleConfirm = () => {\n    if (!value) {\n      return;\n    }\n    const newHistory = [...new Set([value, ...searchHistory])];\n\n    setSearchHistory(newHistory);\n    Taro.setStorageSync('search_history', newHistory);\n    setSearchValue(value);\n  };\n\n  const handleSegmentedControlClick = (index: number) => {\n    setCurrent(index);\n    Taro.pageScrollTo({ scrollTop: 0 });\n  };\n\n  const handleTagClick = ({ name }) => {\n    setValue(name);\n    setSearchValue(name);\n  };\n\n  return (\n    <View className={styles.wrap}>\n      <View className={styles['search-wrap']}>\n        <AtSearchBar\n          showActionButton\n          onConfirm={handleConfirm}\n          placeholder=\"search\"\n          actionName=\"Search\"\n          value={value}\n          onClear={onClear}\n          onChange={onChange}\n          onActionClick={handleConfirm}\n        />\n      </View>\n      <View className={styles.sc}>\n        <AtTabs\n          current={current}\n          onClick={handleSegmentedControlClick}\n          tabList={tabList}\n        ></AtTabs>\n      </View>\n      <View>\n        {searchValue ? (\n          <Block>\n            {current === 0 && <Repos keyword={searchValue}></Repos>}\n            {current === 1 && <Users keyword={searchValue}></Users>}\n            {current === 2 && <Issues keyword={searchValue}></Issues>}\n          </Block>\n        ) : (\n          <View className={styles['history-tags']}>\n            {searchHistory &&\n              searchHistory.map((item) => {\n                return (\n                  <View key={item} className={styles.tag}>\n                    <AtTag\n                      name={item}\n                      type=\"primary\"\n                      customStyle={{ background: '#fff' }}\n                      circle\n                      onClick={handleTagClick}\n                    >\n                      {item}\n                    </AtTag>\n                  </View>\n                );\n              })}\n          </View>\n        )}\n      </View>\n      {BackToTop}\n    </View>\n  );\n};\n\nexport default Search;\n"
  },
  {
    "path": "src/pages/search/issues.tsx",
    "content": "import LoadMore from '@/components/load-more';\nimport SkeletonCard from '@/components/skeleton-card';\nimport { defaultSearchParams } from '@/constants';\nimport { useSearchIssuesAndPullRequests } from '@/github/githubComponents';\nimport IssueItem from '@/pages/issues/issue-item';\nimport { View } from '@tarojs/components';\nimport { usePullDownRefresh, useReachBottom } from '@tarojs/taro';\nimport { FC, useRef, useState } from 'react';\n\nconst issues: FC<{ keyword: string }> = ({ keyword }) => {\n  const [queryParams, setQueryParams] = useState<any>({\n    ...defaultSearchParams,\n    per_page: 10,\n    q: keyword,\n  });\n\n  const isMountedRef = useRef(false);\n  const [hasMore, setHasMore] = useState(false);\n  const [data, setData] = useState<any[]>([]);\n\n  // FIXME isLoading 每次加载都为 true\n  const { isError, isLoading, isFetching, refetch } =\n    useSearchIssuesAndPullRequests(\n      {\n        queryParams,\n      },\n      {\n        onSuccess(newData: any) {\n          isMountedRef.current = true;\n\n          newData = newData.items;\n          console.log('newData: ', newData);\n\n          if (newData?.length >= queryParams.per_page!) {\n            setHasMore(true);\n          }\n          if (queryParams.page! > 1) {\n            setData([...data, ...newData]);\n          } else {\n            setData(newData);\n          }\n        },\n      },\n    );\n\n  useReachBottom(() => {\n    if (hasMore) {\n      setQueryParams({ ...queryParams, page: queryParams.page! + 1 });\n    }\n  });\n\n  usePullDownRefresh(() => {\n    setQueryParams({ ...defaultSearchParams, per_page: 10, q: keyword });\n    // refetch();\n  });\n\n  return (\n    <SkeletonCard\n      isLoading={isLoading && !isMountedRef.current}\n      isError={isError}\n    >\n      {data?.length > 0 && (\n        <View>\n          {data.map((item, idx) => {\n            const full_name = item.repository_url\n              .split('/')\n              .reverse()\n              .slice(0, 2)\n              .reverse()\n              .join('/');\n\n            return (\n              <IssueItem\n                key={item.id}\n                full_name={full_name}\n                issue={item as any}\n              ></IssueItem>\n            );\n          })}\n          <LoadMore hasMore={hasMore}></LoadMore>\n        </View>\n      )}\n    </SkeletonCard>\n  );\n};\n\nexport default issues;\n"
  },
  {
    "path": "src/pages/search/repos.tsx",
    "content": "import LoadMore from '@/components/load-more';\nimport RepoItem from '@/components/repo-item';\nimport SkeletonCard from '@/components/skeleton-card';\nimport { defaultSearchParams } from '@/constants';\nimport { useSearchRepos } from '@/github/githubComponents';\nimport { View } from '@tarojs/components';\nimport { usePullDownRefresh, useReachBottom } from '@tarojs/taro';\nimport { FC, useRef, useState } from 'react';\n\nconst repos: FC<{ keyword: string }> = ({ keyword }) => {\n  const [queryParams, setQueryParams] = useState<any>({\n    ...defaultSearchParams,\n    q: keyword,\n  });\n\n  const isMountedRef = useRef(false);\n  const [hasMore, setHasMore] = useState(false);\n  const [data, setData] = useState<any[]>([]);\n\n  // FIXME isLoading 每次加载都为 true\n  const { isError, isLoading, isFetching, refetch } = useSearchRepos(\n    {\n      queryParams,\n    },\n    {\n      onSuccess(newData: any) {\n        isMountedRef.current = true;\n\n        newData = newData.items;\n\n        if (newData?.length >= queryParams.per_page!) {\n          setHasMore(true);\n        }\n        if (queryParams.page! > 1) {\n          setData([...data, ...newData]);\n        } else {\n          setData(newData);\n        }\n      },\n    },\n  );\n\n  useReachBottom(() => {\n    if (hasMore) {\n      setQueryParams({ ...queryParams, page: queryParams.page! + 1 });\n    }\n  });\n\n  usePullDownRefresh(() => {\n    setQueryParams({ ...defaultSearchParams, q: keyword });\n    // refetch();\n  });\n\n  return (\n    <SkeletonCard\n      isLoading={isLoading && !isMountedRef.current}\n      isError={isError}\n    >\n      {data?.length > 0 && (\n        <View>\n          {data?.map((item, idx) => {\n            return <RepoItem key={item.id} repo={item as any}></RepoItem>;\n          })}\n          <LoadMore hasMore={hasMore}></LoadMore>\n        </View>\n      )}\n    </SkeletonCard>\n  );\n};\n\nexport default repos;\n"
  },
  {
    "path": "src/pages/search/users.tsx",
    "content": "import Author from '@/components/author';\nimport LoadMore from '@/components/load-more';\nimport SkeletonCard from '@/components/skeleton-card';\nimport { defaultSearchParams } from '@/constants';\nimport { useSearchUsers } from '@/github/githubComponents';\nimport { View } from '@tarojs/components';\nimport { usePullDownRefresh, useReachBottom } from '@tarojs/taro';\nimport { FC, useRef, useState } from 'react';\nimport styles from './index.module.scss';\n\nconst users: FC<{ keyword: string }> = ({ keyword }) => {\n  const [queryParams, setQueryParams] = useState<any>({\n    ...defaultSearchParams,\n    q: keyword,\n  });\n\n  const isMountedRef = useRef(false);\n  const [hasMore, setHasMore] = useState(false);\n  const [data, setData] = useState<any[]>([]);\n\n  // FIXME isLoading 每次加载都为 true\n  const { isError, isLoading, isFetching, refetch } = useSearchUsers(\n    {\n      queryParams,\n    },\n    {\n      onSuccess(newData: any) {\n        isMountedRef.current = true;\n\n        newData = newData.items;\n\n        if (newData?.length >= queryParams.per_page!) {\n          setHasMore(true);\n        }\n        if (queryParams.page! > 1) {\n          setData([...data, ...newData]);\n        } else {\n          setData(newData);\n        }\n      },\n    },\n  );\n\n  useReachBottom(() => {\n    if (hasMore) {\n      setQueryParams({ ...queryParams, page: queryParams.page! + 1 });\n    }\n  });\n\n  usePullDownRefresh(() => {\n    setQueryParams({ ...defaultSearchParams, q: keyword });\n    // refetch();\n  });\n\n  return (\n    <SkeletonCard\n      isError={isError}\n      isLoading={isLoading && !isMountedRef.current}\n    >\n      {data?.length > 0 && (\n        <View>\n          {data.map((item) => {\n            const login = item.login;\n            const avatar_url = item.avatar_url;\n            return (\n              <View key={login} className={styles['user-item']}>\n                <Author login={login} url={avatar_url}></Author>\n              </View>\n            );\n          })}\n          <LoadMore hasMore={hasMore}></LoadMore>\n        </View>\n      )}\n    </SkeletonCard>\n  );\n};\n\nexport default users;\n"
  },
  {
    "path": "src/pages/starred/content.tsx",
    "content": "import LoadMore from '@/components/load-more';\nimport SkeletonCard from '@/components/skeleton-card';\nimport { useActivityListReposStarredByUser } from '@/github/githubComponents';\nimport useInfiniteGithubRequest from '@/hooks/useInfiniteGithubRequest';\nimport usePageScrollBackToTop from '@/hooks/usePageScrollBackToTop';\nimport { View } from '@tarojs/components';\nimport Empty from '../../components/empty';\nimport RepoItem from '../../components/repo-item';\nimport styles from './index.module.scss';\n\nconst StarredContent = ({ username }) => {\n  const { data, hasMore, isError, isLoading } = useInfiniteGithubRequest(\n    useActivityListReposStarredByUser,\n    { pathParams: { username } },\n  );\n\n  const BackToTop = usePageScrollBackToTop();\n\n  return (\n    <View>\n      <SkeletonCard isError={isError} isLoading={isLoading}>\n        {data ? (\n          <View className={styles['content-wrap']}>\n            {data.map((item, idx) => {\n              return <RepoItem key={item.id} repo={item}></RepoItem>;\n            })}\n            <LoadMore hasMore={hasMore}></LoadMore>\n          </View>\n        ) : (\n          <Empty></Empty>\n        )}\n      </SkeletonCard>\n      {BackToTop}\n    </View>\n  );\n};\n\nexport default StarredContent;\n"
  },
  {
    "path": "src/pages/starred/index.config.ts",
    "content": "export default {\n  navigationBarTitleText: 'Starred',\n  enablePullDownRefresh: true,\n};\n"
  },
  {
    "path": "src/pages/starred/index.module.scss",
    "content": ".content-wrap {\n  background: $bg;\n}\n"
  },
  {
    "path": "src/pages/starred/index.tsx",
    "content": "import NoAuthority from '@/components/no-authority';\nimport usePullDownRefreshEvent from '@/hooks/usePullDownRefreshEvent';\nimport useReachBottomEvent from '@/hooks/useReachBottomEvent';\nimport { View } from '@tarojs/components';\nimport { useSelector } from 'react-redux';\nimport StarredContent from './content';\n\nconst StarredRepos = () => {\n  const username = useSelector<any, any>((state) => state.user.username);\n\n  useReachBottomEvent();\n  usePullDownRefreshEvent();\n\n  return (\n    <View>\n      {username ? (\n        <StarredContent username={username}></StarredContent>\n      ) : (\n        <NoAuthority></NoAuthority>\n      )}\n    </View>\n  );\n};\n\nexport default StarredRepos;\n"
  },
  {
    "path": "src/pages/trending/index.config.ts",
    "content": "export default {\n  navigationBarTitleText: 'Trending',\n  enablePullDownRefresh: true,\n};\n"
  },
  {
    "path": "src/pages/trending/index.module.scss",
    "content": ".wrap {\n}\n\n.header {\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  display: flex;\n  background-color: white;\n  padding: 0 20px;\n\n  :global(.at-tabs__item--active .at-tabs__item-underline) {\n    width: 50%;\n    transform: translate(-50%);\n    left: 50%;\n    transition: none;\n  }\n}\n\n.filterIcon {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n\n  &:active {\n    color: $primary;\n  }\n}\n\n.tabs {\n}\n\n.main {\n  padding: 80px 0;\n}\n"
  },
  {
    "path": "src/pages/trending/index.tsx",
    "content": "import Empty from '@/components/empty';\nimport SkeletonCard from '@/components/skeleton-card';\nimport { CURRENT_LANGUAGE_STORAGE_KEY } from '@/constants';\nimport useTrending from '@/hooks/useTrending';\nimport { Block, View } from '@tarojs/components';\nimport Taro, { usePullDownRefresh, useShareAppMessage } from '@tarojs/taro';\nimport { useState } from 'react';\nimport {\n  AtActionSheet,\n  AtActionSheetItem,\n  AtDrawer,\n  AtIcon,\n  AtTabs,\n} from 'taro-ui';\nimport {\n  TrendingDeveloperData,\n  TrendingRepoData,\n  TrendingRequestParams,\n} from 'types/trending';\nimport FabButton from '../../components/fab-button';\nimport styles from './index.module.scss';\nimport MyLanguage, { defaultLang } from './language';\nimport RepoItem from './repo-item';\nimport UserItem from './user-item';\n\nexport interface LanguageParams {\n  language: string;\n  title: string;\n}\n\nconst tabList: { title: string; value: TrendingRequestParams['type'] }[] = [\n  { title: 'Repo', value: 'repositories' },\n  { title: 'User', value: 'developers' },\n];\n\nconst dateRangeList = [\n  { title: 'Today', value: 'daily', name: 'Today', desc: 'today' },\n  { title: 'This Week', value: 'weekly', name: 'Week', desc: 'this week' },\n  { title: 'This Month', value: 'monthly', name: 'Month', desc: 'this month' },\n];\n\nconst currLang = defaultLang;\n// Taro.getStorageSync(CURRENT_LANGUAGE_STORAGE_KEY) || defaultLang;\n\nconst defaultTrendingParams = {\n  since: 'daily',\n  language: currLang,\n};\n\nconst Trending = () => {\n  const [currTab, setCurrTab] = useState<number>(0);\n\n  const [params, setParams] = useState<TrendingRequestParams>(\n    defaultTrendingParams,\n  );\n\n  const [showLangDrawer, setShowLangDrawer] = useState<boolean>(false);\n  const [showDataRangeSheet, setShowDataRangeSheet] = useState<boolean>(false);\n\n  const { data, isLoading, isError, refetch } = useTrending(params);\n\n  usePullDownRefresh(() => {\n    refetch();\n  });\n\n  useShareAppMessage((res) => {\n    return {\n      title: `GitHub Trending`,\n      path: `/pages/trending/index`,\n    };\n  });\n\n  const handleClickTab = (idx) => {\n    setCurrTab(idx);\n\n    setParams({ ...params, type: tabList[idx].value });\n    Taro.pageScrollTo({ scrollTop: 0 });\n  };\n\n  const handleToggleLangDrawer = (isShow) => {\n    setShowLangDrawer(isShow);\n  };\n\n  const handleToggleDataRangeSheet = (isShow) => {\n    setShowDataRangeSheet(isShow);\n  };\n\n  const handleChangeLang = ({ language, title }: LanguageParams) => {\n    Taro.setStorageSync(CURRENT_LANGUAGE_STORAGE_KEY, language);\n    Taro.setNavigationBarTitle({ title: `${title}` });\n    setParams({ ...params, language });\n    setShowLangDrawer(false);\n  };\n\n  const currentDataRange = dateRangeList.find(\n    (item) => item.value === params.since,\n  );\n  return (\n    <Block>\n      <View className={styles.wrap}>\n        <View className={styles.header}>\n          <View\n            className={styles.filterIcon}\n            onClick={handleToggleLangDrawer.bind(null, true)}\n          >\n            <AtIcon value=\"filter\" size=\"20\"></AtIcon>\n          </View>\n          <AtTabs\n            animated={false}\n            current={currTab}\n            onClick={handleClickTab}\n            tabList={tabList}\n          ></AtTabs>\n        </View>\n        <View className={styles.main}>\n          <View>\n            <SkeletonCard\n              key={Object.values(params).join('-')}\n              isLoading={isLoading}\n              isError={isError}\n            >\n              {(data?.length || 0) > 0 ? (\n                data!.map((data, index) => {\n                  if (currTab === 0) {\n                    data = data as TrendingRepoData;\n                    return (\n                      <RepoItem\n                        key={data.url}\n                        repo={data}\n                        index={index}\n                        durationText={currentDataRange?.desc || 'today'}\n                      ></RepoItem>\n                    );\n                  }\n                  if (currTab === 1) {\n                    data = data as TrendingDeveloperData;\n                    return (\n                      <UserItem\n                        key={data.url}\n                        data={data}\n                        index={index}\n                      ></UserItem>\n                    );\n                  }\n                })\n              ) : (\n                <Empty></Empty>\n              )}\n            </SkeletonCard>\n          </View>\n        </View>\n\n        <FabButton onClick={handleToggleDataRangeSheet.bind(null, true)}>\n          {currentDataRange?.name}\n        </FabButton>\n\n        <AtActionSheet\n          isOpened={showDataRangeSheet}\n          onClose={handleToggleDataRangeSheet.bind(null, false)}\n        >\n          {dateRangeList.map((item) => {\n            return (\n              <AtActionSheetItem\n                key={item.value}\n                onClick={() => {\n                  setShowDataRangeSheet(false);\n                  setParams({ ...params, since: item.value });\n                }}\n              >\n                {item.title}\n              </AtActionSheetItem>\n            );\n          })}\n        </AtActionSheet>\n\n        <AtDrawer\n          show={showLangDrawer}\n          right={false}\n          mask\n          onClose={handleToggleLangDrawer.bind(null, false)}\n        >\n          <View>\n            <MyLanguage\n              curLang={params.language!}\n              onChangeLang={handleChangeLang}\n            ></MyLanguage>\n          </View>\n        </AtDrawer>\n      </View>\n    </Block>\n  );\n};\n\nexport default Trending;\n"
  },
  {
    "path": "src/pages/trending/language/index.module.scss",
    "content": ".wrap {\n}\n.title {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 10px 20px;\n  background: $navBg;\n}\n\n.lang-list {\n  font-size: 28px;\n}\n\n.lang-item {\n  margin: 20px 0;\n  padding: 0 20px;\n  border-bottom: 1px solid $navBg;\n}\n.active {\n  color: $primary;\n}\n"
  },
  {
    "path": "src/pages/trending/language/index.tsx",
    "content": "import { Text, View } from '@tarojs/components';\nimport Taro from '@tarojs/taro';\nimport { useSelector } from 'react-redux';\nimport { AtIcon, AtRadio } from 'taro-ui';\nimport styles from './index.module.scss';\n\nexport const defaultLang = '';\n\ninterface LanguageProps {\n  onChangeLang: (params: { language: string; title: string }) => void;\n  curLang: string;\n}\n\nconst Language = ({ onChangeLang, curLang }: LanguageProps) => {\n  const langs = useSelector<any, any>((state) => state.lang.selected);\n\n  const handleLangClick = (lang, e) => {\n    const value = langs.find((item) => item.language === lang);\n    onChangeLang(value);\n  };\n\n  const handleIconClick = () => {\n    Taro.navigateTo({ url: '/pages/my-languages/index' });\n  };\n\n  return (\n    <View className={styles.wrap}>\n      <View className={styles.title}>\n        <Text>Favorite languages</Text>\n        <AtIcon size={18} value=\"edit\" onClick={handleIconClick}></AtIcon>\n      </View>\n      <View className={styles['lang-list']}>\n        <AtRadio\n          options={langs.map((item) => ({\n            label: item.title,\n            value: item.language,\n          }))}\n          value={curLang}\n          onClick={handleLangClick}\n        />\n      </View>\n    </View>\n  );\n};\n\nexport default Language;\n"
  },
  {
    "path": "src/pages/trending/repo-item/index.module.scss",
    "content": ".card-wrap {\n  margin: 25px 20px;\n  padding: 10px 20px 20px 10px;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n}\n\n.card-top {\n  display: flex;\n  overflow: hidden;\n}\n\n.info {\n  max-width: 100%;\n  margin-right: 10px;\n}\n\n.nameWrap {\n  display: flex;\n  align-items: center;\n}\n\n.name {\n  display: inline-block;\n  vertical-align: middle;\n  width: 100%;\n  font-size: 32px;\n  font-weight: 700;\n  line-height: 40px;\n  // white-space: nowrap;\n  word-break: keep-all;\n  text-overflow: ellipsis;\n  overflow: hidden;\n}\n\n.index {\n  display: inline-block;\n  vertical-align: middle;\n  width: 32px;\n  height: 32px;\n  line-height: 32px;\n  border-radius: 50%;\n  margin-right: 10px;\n  text-align: center;\n  font-size: 20px;\n  background-color: $color-brand-light;\n  color: white;\n}\n\n.description {\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-line-clamp: 3;\n  margin-top: 10px;\n  margin-left: 35px;\n  font-size: 23px;\n  font-weight: 400;\n  line-height: 1.5em;\n  color: #828282;\n  word-break: break-all;\n  word-wrap: break-word;\n  overflow: hidden;\n}\n.author {\n  flex-basis: 1;\n  flex-shrink: 0;\n  flex-grow: 0;\n  width: 120rpx;\n  max-width: 120px;\n  margin-left: auto;\n  text-align: center;\n}\n\n.author-name {\n  font-size: 25px;\n  font-weight: 400;\n  color: rgb(109, 109, 109);\n  overflow: hidden;\n}\n\n.avatar {\n  width: 80px;\n  height: 80px;\n  border-radius: 50%;\n}\n\n.card-bottom {\n  margin-top: 10px;\n  display: flex;\n  margin-left: 35px;\n  align-items: center;\n}\n\n.meta-item:not(:first-child) {\n  margin-left: 15px;\n}\n.meta-item {\n  display: flex;\n  align-items: center;\n  font-size: 24px;\n}\n\n.meta-item:last-child {\n  margin-left: auto;\n}\n\n.language-color {\n  display: inline-block;\n  margin-right: 8px;\n  width: 25px;\n  height: 25px;\n  border-radius: 50%;\n}\n"
  },
  {
    "path": "src/pages/trending/repo-item/index.tsx",
    "content": "import FontIcon from '@/components/font-icon';\nimport { Text, View } from '@tarojs/components';\nimport Taro from '@tarojs/taro';\nimport { memo } from 'react';\nimport { TrendingRepoData } from 'types/trending';\nimport styles from './index.module.scss';\n\nconst RepoItem = ({\n  repo,\n  index,\n  durationText,\n}: {\n  repo: TrendingRepoData;\n  index: number;\n  durationText: string;\n}) => {\n  const handleCardClick = () => {\n    const url = `/pages/repos/index?owner=${author}&repo=${name}`;\n    Taro.navigateTo({\n      url,\n    });\n  };\n\n  const {\n    author,\n    name,\n    avatar,\n    url,\n    description,\n    language,\n    languageColor,\n    stars,\n    forks,\n    currentPeriodStars,\n    builtBy,\n  } = repo;\n\n  return (\n    <View className={styles['card-wrap']} onClick={handleCardClick}>\n      <View className={styles['card-top']}>\n        <View className={styles.info}>\n          <View className={styles.nameWrap}>\n            <View className={styles.index}> {index + 1}</View>\n            <View className={styles.name}>\n              {author}/{name}\n            </View>\n          </View>\n          <View className={styles.description}>{description}</View>\n        </View>\n      </View>\n      <View className={styles['card-bottom']}>\n        <View className={styles['meta-item']}>\n          <Text\n            className={styles['language-color']}\n            style={{ background: languageColor || '#000000' }}\n          ></Text>\n          {language || 'null'}\n        </View>\n        <View className={styles['meta-item']}>\n          <FontIcon styleProps={{ fontSize: '16px' }} value=\"star\"></FontIcon>\n          {stars}\n        </View>\n        <View className={styles['meta-item']}>\n          <FontIcon\n            styleProps={{ fontSize: '16px' }}\n            value=\"git-repo-forked\"\n          ></FontIcon>\n          {forks}\n        </View>\n        <View className={styles['meta-item']}>\n          <FontIcon\n            styleProps={{ fontSize: '16px', color: '#0062c9' }}\n            value=\"star\"\n          ></FontIcon>\n          {currentPeriodStars} {durationText}\n        </View>\n      </View>\n    </View>\n  );\n};\n\nconst areEqual = ({ repo: prevRepo }: any, { repo }: any) => {\n  return prevRepo?.url === repo.url;\n};\n\nexport default memo(RepoItem, areEqual);\n"
  },
  {
    "path": "src/pages/trending/user-item/index.module.scss",
    "content": ".cardWrap {\n  margin: 25px 20px;\n  padding: 10px 20px 20px 10px;\n  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n  border-radius: 10px;\n  box-sizing: border-box;\n  background: $itemBg;\n}\n\n.author {\n  display: flex;\n}\n\n.index {\n  display: inline-block;\n  vertical-align: middle;\n  width: 32px;\n  height: 32px;\n  margin-top: 10px;\n  line-height: 32px;\n  border-radius: 50%;\n  margin-right: 15px;\n  text-align: center;\n  font-size: 20px;\n  background-color: $color-brand-light;\n  color: white;\n}\n\n.nameWrap {\n  margin-left: 15px;\n  white-space: nowrap;\n  text-align: left;\n}\n\n.name {\n  font-size: 32px;\n  width: 100%;\n}\n\n.authorName {\n  font-size: 28px;\n  font-weight: 600;\n  color: rgb(109, 109, 109);\n}\n\n.repo {\n  margin-left: 35px;\n}\n\n.repoName {\n  font-size: 30px;\n  font-weight: 600;\n}\n\n.description {\n  display: -webkit-box;\n  -webkit-box-orient: vertical;\n  -webkit-line-clamp: 3;\n  margin-top: 5px;\n  font-size: 23px;\n  font-weight: 400;\n  line-height: 1.5em;\n  color: #828282;\n  word-break: break-all;\n  word-wrap: break-word;\n  overflow: hidden;\n}\n\n.avatar {\n  width: 80px;\n  height: 80px;\n  border-radius: 50%;\n}\n"
  },
  {
    "path": "src/pages/trending/user-item/index.tsx",
    "content": "import FontIcon from '@/components/font-icon';\nimport { Image, ITouchEvent, Text, View } from '@tarojs/components';\nimport Taro from '@tarojs/taro';\nimport { FC, memo } from 'react';\nimport { useSelector } from 'react-redux';\nimport { TrendingDeveloperData } from 'types/trending';\nimport styles from './index.module.scss';\n\nconst UserItem: FC<{ data: TrendingDeveloperData; index: number }> = ({\n  data,\n  index,\n}) => {\n  const { avatar, name, repo, url, username: author, sponsorUrl } = data;\n\n  const username = useSelector<any, any>((state) => state.user.username);\n\n  const handleAuthorClick = (e: ITouchEvent) => {\n    e.stopPropagation();\n    let url: string;\n    if (username === author) {\n      url = `/pages/profile/index`;\n    } else {\n      url = `/pages/developer/index?name=${author}`;\n    }\n\n    Taro.navigateTo({\n      url,\n    });\n  };\n\n  const handleRepoClick = () => {\n    if (repo?.url) {\n      const [repoName, owner] = repo.url.split('/').reverse();\n      const url = `/pages/repos/index?owner=${owner}&repo=${repoName}`;\n      Taro.navigateTo({\n        url,\n      });\n    }\n  };\n\n  return (\n    <View className={styles.cardWrap}>\n      <View className={styles.author} onClick={handleAuthorClick}>\n        <View className={styles.index}> {index + 1}</View>\n        <Image src={`${avatar}?s=96&v=4`} className={styles.avatar}></Image>\n        <View className={styles.nameWrap}>\n          <View className={styles.name}>{name}</View>\n          <View className={styles.authorName}>{author}</View>\n        </View>\n      </View>\n      <View className={styles.repo} onClick={handleRepoClick}>\n        {repo && (\n          <View>\n            <Text className={styles.repoName}>\n              <FontIcon\n                size=\"14\"\n                value=\"hot\"\n                styleProps={{ color: 'red' }}\n              ></FontIcon>\n              {repo.name}\n            </Text>\n            <Text className={styles.description}>{repo.description}</Text>\n          </View>\n        )}\n      </View>\n    </View>\n  );\n};\n\nexport default memo(\n  UserItem,\n  (prev, curr) => prev?.data.url === curr?.data.url,\n);\n"
  },
  {
    "path": "src/services/commits.ts",
    "content": "import request from '../utils/request';\n\nexport interface CommitItemData {\n  sha: string;\n  node_id: string;\n  commit: Commit;\n  url: string;\n  html_url: string;\n  comments_url: string;\n  author: Author2;\n  committer: Author2;\n  parents: Parent[];\n}\n\ninterface Parent {\n  sha: string;\n  url: string;\n  html_url: string;\n}\n\ninterface Author2 {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n}\n\ninterface Commit {\n  author: Author;\n  committer: Author;\n  message: string;\n  tree: Tree;\n  url: string;\n  comment_count: number;\n  verification: Verification;\n}\n\ninterface Verification {\n  verified: boolean;\n  reason: string;\n  signature?: string;\n  payload?: string;\n}\n\ninterface Tree {\n  sha: string;\n  url: string;\n}\n\ninterface Author {\n  name: string;\n  email: string;\n  date: string;\n}\n\nexport const getCommits = ({ full_name }, params = {}) => {\n  return request.get<CommitItemData[] | null>(\n    `/repos/${full_name}/commits`,\n    params,\n  );\n};\n\n// export const createCommit = ({ full_name }, data) => {\n//   return request.post(`/repos/${full_name}/commits`, data)\n// }\n\n// export const createCommitComment = ({ full_name, number }, data) => {\n//   return request.post(\n//     `/repos/${full_name}/commits/${number}/comments`,\n//     data\n//   )\n// }\n"
  },
  {
    "path": "src/services/github.ts",
    "content": "import { IDefaultParams } from '@/constants';\nimport request from '@/utils/request';\n\nexport const getEvents = (_, params: IDefaultParams) => {\n  return request.get<any | null>('/events', params);\n};\n"
  },
  {
    "path": "src/services/issues.ts",
    "content": "import request from '../utils/request';\n\nexport interface Issue {\n  url: string;\n  repository_url: string;\n  labels_url: string;\n  comments_url: string;\n  events_url: string;\n  html_url: string;\n  id: number;\n  node_id: string;\n  number: number;\n  title: string;\n  user: User;\n  labels: Label[];\n  state: string;\n  locked: boolean;\n  assignee?: any;\n  assignees: any[];\n  milestone?: any;\n  comments: number;\n  created_at: string;\n  updated_at: string;\n  closed_at: string;\n  author_association: string;\n  body: string;\n  pull_request?: Pullrequest;\n  repository?: {\n    full_name: string;\n  };\n}\n\ninterface Pullrequest {\n  url: string;\n  html_url: string;\n  diff_url: string;\n  patch_url: string;\n}\n\ninterface Label {\n  id: number;\n  node_id: string;\n  url: string;\n  name: string;\n  color: string;\n  default: boolean;\n}\n\ninterface User {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n}\n\nexport const getIssues = (full_name: string, params) => {\n  return request.get<Issue[] | null>(`/repos/${full_name}/issues`, params, {\n    Accept: 'application/vnd.github.VERSION.raw+json',\n  });\n};\n\nexport const getIssueDetail = ({ full_name, number }, params = {}) => {\n  return request.get<Issue | null>(\n    `/repos/${full_name}/issues/${number}`,\n    params,\n    { Accept: 'application/vnd.github.VERSION.raw+json' },\n  );\n};\n\nexport interface IssueComment {\n  url: string;\n  html_url: string;\n  issue_url: string;\n  id: number;\n  node_id: string;\n  user: User;\n  created_at: string;\n  updated_at: string;\n  author_association: string;\n  body: string;\n}\n\nexport const getIssueComments = ({ full_name, number }, params = {}) => {\n  return request.get<IssueComment[] | null>(\n    `/repos/${full_name}/issues/${number}/comments`,\n    params,\n    { Accept: 'application/vnd.github.VERSION.raw+json' },\n  );\n};\n\nexport const createIssue = ({ full_name }, data) => {\n  return request.post<Issue | null>(`/repos/${full_name}/issues`, data);\n};\n\nexport const createIssueComment = ({ full_name, number }, data) => {\n  return request.post<IssueComment | null>(\n    `/repos/${full_name}/issues/${number}/comments`,\n    data,\n  );\n};\n"
  },
  {
    "path": "src/services/repos.ts",
    "content": "import request from '../utils/request';\n\nexport interface Repo {\n  id: number;\n  node_id: string;\n  name: string;\n  full_name: string;\n  private: boolean;\n  owner: Owner;\n  html_url: string;\n  description: string;\n  fork: boolean;\n  url: string;\n  forks_url: string;\n  keys_url: string;\n  collaborators_url: string;\n  teams_url: string;\n  hooks_url: string;\n  issue_events_url: string;\n  events_url: string;\n  assignees_url: string;\n  branches_url: string;\n  tags_url: string;\n  blobs_url: string;\n  git_tags_url: string;\n  git_refs_url: string;\n  trees_url: string;\n  statuses_url: string;\n  languages_url: string;\n  stargazers_url: string;\n  contributors_url: string;\n  subscribers_url: string;\n  subscription_url: string;\n  commits_url: string;\n  git_commits_url: string;\n  comments_url: string;\n  issue_comment_url: string;\n  contents_url: string;\n  compare_url: string;\n  merges_url: string;\n  archive_url: string;\n  downloads_url: string;\n  issues_url: string;\n  pulls_url: string;\n  milestones_url: string;\n  notifications_url: string;\n  labels_url: string;\n  releases_url: string;\n  deployments_url: string;\n  created_at: string;\n  updated_at: string;\n  pushed_at: string;\n  git_url: string;\n  ssh_url: string;\n  clone_url: string;\n  svn_url: string;\n  homepage: string;\n  size: number;\n  stargazers_count: number;\n  watchers_count: number;\n  language: string;\n  has_issues: boolean;\n  has_projects: boolean;\n  has_downloads: boolean;\n  has_wiki: boolean;\n  has_pages: boolean;\n  forks_count: number;\n  mirror_url?: any;\n  archived: boolean;\n  disabled: boolean;\n  open_issues_count: number;\n  license: License;\n  forks: number;\n  open_issues: number;\n  watchers: number;\n  default_branch: string;\n  permissions: Permissions;\n  allow_squash_merge: boolean;\n  allow_merge_commit: boolean;\n  allow_rebase_merge: boolean;\n  network_count: number;\n  subscribers_count: number;\n}\n\ninterface Permissions {\n  admin: boolean;\n  push: boolean;\n  pull: boolean;\n}\n\ninterface License {\n  key: string;\n  name: string;\n  spdx_id: string;\n  url: string;\n  node_id: string;\n}\n\ninterface Owner {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n}\n\nexport const getRepo = (full_name: string) => {\n  return request.get<Repo | null>(`/repos/${full_name}`);\n};\nexport const getReadme = (full_name: string) => {\n  return request.get<Repo | null>(`/repos/${full_name}/readme`, {});\n};\n\nexport const getRawReadme = (full_name: string) => {\n  return request.get<string | null>(\n    `/repos/${full_name}/readme`,\n    {},\n    { Accept: 'application/vnd.github.v3.raw' },\n  );\n};\n\nexport interface File {\n  name: string;\n  path: string;\n  sha: string;\n  size: number;\n  url: string;\n  html_url: string;\n  git_url: string;\n  download_url?: string;\n  type: string;\n  _links: Links;\n}\n\ninterface Links {\n  self: string;\n  git: string;\n  html: string;\n}\n\nexport const getContents = (url: string) => {\n  return request.get<File[] | null>(url);\n};\n\nexport const getRawContent = (full_file_path: string) => {\n  return request.get<string | null>(\n    `/repos/${full_file_path}`,\n    {},\n    { Accept: 'application/vnd.github.v3.raw' },\n  );\n};\n\nexport interface Contributor {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n  contributions: number;\n}\n\nexport const getContributors = ({ full_name }, params) => {\n  return request.get<Contributor[] | null>(\n    `/repos/${full_name}/contributors`,\n    params,\n  );\n};\n\nexport interface RepoEvent {\n  id: string;\n  type: string;\n  actor: Actor;\n  repo: EventRepo;\n  payload: Payload;\n  public: boolean;\n  created_at: string;\n}\n\ninterface Payload {\n  action?: string;\n  issue?: Issue;\n  forkee?: Forkee;\n  comment?: Comment;\n}\n\ninterface Comment {\n  url: string;\n  html_url: string;\n  issue_url: string;\n  id: number;\n  node_id: string;\n  user: User;\n  created_at: string;\n  updated_at: string;\n  author_association: string;\n  body: string;\n}\n\ninterface Forkee {\n  id: number;\n  node_id: string;\n  name: string;\n  full_name: string;\n  private: boolean;\n  owner: User;\n  html_url: string;\n  description: string;\n  fork: boolean;\n  url: string;\n  forks_url: string;\n  keys_url: string;\n  collaborators_url: string;\n  teams_url: string;\n  hooks_url: string;\n  issue_events_url: string;\n  events_url: string;\n  assignees_url: string;\n  branches_url: string;\n  tags_url: string;\n  blobs_url: string;\n  git_tags_url: string;\n  git_refs_url: string;\n  trees_url: string;\n  statuses_url: string;\n  languages_url: string;\n  stargazers_url: string;\n  contributors_url: string;\n  subscribers_url: string;\n  subscription_url: string;\n  commits_url: string;\n  git_commits_url: string;\n  comments_url: string;\n  issue_comment_url: string;\n  contents_url: string;\n  compare_url: string;\n  merges_url: string;\n  archive_url: string;\n  downloads_url: string;\n  issues_url: string;\n  pulls_url: string;\n  milestones_url: string;\n  notifications_url: string;\n  labels_url: string;\n  releases_url: string;\n  deployments_url: string;\n  created_at: string;\n  updated_at: string;\n  pushed_at: string;\n  git_url: string;\n  ssh_url: string;\n  clone_url: string;\n  svn_url: string;\n  homepage: string;\n  size: number;\n  stargazers_count: number;\n  watchers_count: number;\n  language?: any;\n  has_issues: boolean;\n  has_projects: boolean;\n  has_downloads: boolean;\n  has_wiki: boolean;\n  has_pages: boolean;\n  forks_count: number;\n  mirror_url?: any;\n  archived: boolean;\n  disabled: boolean;\n  open_issues_count: number;\n  license: License;\n  forks: number;\n  open_issues: number;\n  watchers: number;\n  default_branch: string;\n  public: boolean;\n}\n\ninterface License {\n  key: string;\n  name: string;\n  spdx_id: string;\n  url: string;\n  node_id: string;\n}\n\ninterface Issue {\n  url: string;\n  repository_url: string;\n  labels_url: string;\n  comments_url: string;\n  events_url: string;\n  html_url: string;\n  id: number;\n  node_id: string;\n  number: number;\n  title: string;\n  user: User;\n  labels: any[];\n  state: string;\n  locked: boolean;\n  assignee?: any;\n  assignees: any[];\n  milestone?: any;\n  comments: number;\n  created_at: string;\n  updated_at: string;\n  closed_at?: string;\n  author_association: string;\n  body: string;\n}\n\ninterface User {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n}\n\ninterface EventRepo {\n  id: number;\n  name: string;\n  url: string;\n}\n\ninterface Actor {\n  id: number;\n  login: string;\n  display_login: string;\n  gravatar_id: string;\n  url: string;\n  avatar_url: string;\n}\n\nexport const getRepoEvents = ({ full_name }, params) => {\n  return request.get<RepoEvent[] | null>(`/repos/${full_name}/events`, params);\n};\nexport const getRepoWatchs = ({ full_name }, params) => {\n  return request.get<any[] | null>(`/repos/${full_name}/subscribers`, params);\n};\nexport const getRepoForks = ({ full_name }, params) => {\n  return request\n    .get<any[] | null>(`/repos/${full_name}/forks`, params)\n    .then((data) => {\n      // TODO 目前只显示 fork 用户\n      return data && data.map((item) => item.owner);\n    });\n};\nexport const getRepoStars = ({ full_name }, params) => {\n  return request.get<any[] | null>(`/repos/${full_name}/stargazers`, params);\n};\n"
  },
  {
    "path": "src/services/search.ts",
    "content": "import { IDefaultParams } from '@/constants';\nimport request from '../utils/request';\n\nexport interface SearchRepoData {\n  total_count: number;\n  incomplete_results: boolean;\n  items: IRepoItem[];\n}\n\nexport interface IRepoItem {\n  id: number;\n  node_id: string;\n  name: string;\n  full_name: string;\n  private: boolean;\n  owner: Owner;\n  html_url: string;\n  description?: string;\n  fork: boolean;\n  url: string;\n  forks_url: string;\n  keys_url: string;\n  collaborators_url: string;\n  teams_url: string;\n  hooks_url: string;\n  issue_events_url: string;\n  events_url: string;\n  assignees_url: string;\n  branches_url: string;\n  tags_url: string;\n  blobs_url: string;\n  git_tags_url: string;\n  git_refs_url: string;\n  trees_url: string;\n  statuses_url: string;\n  languages_url: string;\n  stargazers_url: string;\n  contributors_url: string;\n  subscribers_url: string;\n  subscription_url: string;\n  commits_url: string;\n  git_commits_url: string;\n  comments_url: string;\n  issue_comment_url: string;\n  contents_url: string;\n  compare_url: string;\n  merges_url: string;\n  archive_url: string;\n  downloads_url: string;\n  issues_url: string;\n  pulls_url: string;\n  milestones_url: string;\n  notifications_url: string;\n  labels_url: string;\n  releases_url: string;\n  deployments_url: string;\n  created_at: string;\n  updated_at: string;\n  pushed_at: string;\n  git_url: string;\n  ssh_url: string;\n  clone_url: string;\n  svn_url: string;\n  homepage?: string;\n  size: number;\n  stargazers_count: number;\n  watchers_count: number;\n  language?: string;\n  has_issues: boolean;\n  has_projects: boolean;\n  has_downloads: boolean;\n  has_wiki: boolean;\n  has_pages: boolean;\n  forks_count: number;\n  mirror_url?: any;\n  archived: boolean;\n  disabled: boolean;\n  open_issues_count: number;\n  license?: License;\n  forks: number;\n  open_issues: number;\n  watchers: number;\n  default_branch: string;\n  permissions: Permissions;\n  score: number;\n}\n\ninterface Permissions {\n  admin: boolean;\n  push: boolean;\n  pull: boolean;\n}\n\ninterface License {\n  key: string;\n  name: string;\n  spdx_id: string;\n  url?: string;\n  node_id: string;\n}\n\ninterface Owner {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n}\nexport interface ISearchPrams extends IDefaultParams {\n  q: string;\n  sort?: string;\n  order?: string;\n}\n\nexport const searchRepos = async ({\n  q,\n  sort = '',\n  order = 'desc',\n  per_page = 30,\n  page = 1,\n}: ISearchPrams) => {\n  return request\n    .get<SearchRepoData | null>(`/search/repositories`, {\n      q,\n      sort,\n      order,\n      per_page,\n      page,\n    })\n    .then<IRepoItem[] | null>((data) => {\n      return data && data.items;\n    });\n};\n\nexport const searchIssues = async ({\n  q,\n  sort = '',\n  order = 'desc',\n  per_page = 30,\n  page = 1,\n}: ISearchPrams) => {\n  return request.get(`/search/issues`, {\n    q,\n    sort,\n    order,\n    per_page,\n    page,\n  });\n};\n\nexport interface ISearchUser {\n  total_count: number;\n  incomplete_results: boolean;\n  items: ISearchUserItem[];\n}\n\nexport interface ISearchUserItem {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n  score: number;\n}\n\nexport const searchUsers = async ({\n  q,\n  sort = '',\n  order = 'desc',\n  per_page = 30,\n  page = 1,\n}: ISearchPrams) => {\n  return request\n    .get<ISearchUser | null>(`/search/users`, {\n      q,\n      sort,\n      order,\n      per_page,\n      page,\n    })\n    .then<ISearchUserItem[] | null>((data) => {\n      return data && data.items;\n    });\n};\n"
  },
  {
    "path": "src/services/trending.ts",
    "content": "import { request } from '@/utils/request';\n\nconst TRENDING_URL = 'https://trending.stayin.cn/';\n\nexport interface TrendingRepo {\n  author: string;\n  name: string;\n  avatar: string;\n  url: string;\n  description: string;\n  language?: string;\n  languageColor?: string;\n  stars: number;\n  forks: number;\n  currentPeriodStars: number;\n  builtBy: BuiltBy[];\n}\n\ninterface BuiltBy {\n  username: string;\n  href: string;\n  avatar: string;\n}\n\nexport interface TrendingRequestParams {\n  language?: string;\n  since?: string;\n}\n\nexport async function getTrendingRepos({\n  language = '',\n  since = '',\n}: TrendingRequestParams): Promise<TrendingRepo[] | null> {\n  try {\n    // const res = await Taro.cloud.callFunction({\n    //   name: \"trending\",\n    //   data: {\n    //     type: \"repo\",\n    //     language,\n    //     since\n    //   }\n    // })\n    // return res.result.data\n\n    const data = await request(TRENDING_URL, {\n      type: 'repo',\n      language,\n      since,\n    });\n    return data;\n  } catch (e) {\n    console.log('get trending repos error : ', e);\n    return null;\n  }\n}\n\nexport interface TrendingUser {\n  author: string;\n  name: string;\n  avatar: string;\n  url: string;\n  description: string;\n  language: string;\n  languageColor: string;\n  stars: number;\n  forks: number;\n  currentPeriodStars: number;\n  builtBy: BuiltBy[];\n}\n\ninterface BuiltBy {\n  username: string;\n  href: string;\n  avatar: string;\n}\n\nexport async function getTrendingUsers({\n  language = '',\n  since = '',\n}: TrendingRequestParams): Promise<TrendingUser[] | null> {\n  try {\n    // const res = await Taro.cloud.callFunction({\n    //   name: \"trending\",\n    // data: {\n    //   type: \"user\",\n    //   language,\n    //   since\n    // }\n    // })\n    // return res.result.data\n\n    const data = await request(TRENDING_URL, {\n      type: 'user',\n      language,\n      since,\n    });\n    return data;\n  } catch (e) {\n    console.log('get trending users error : ', e);\n    return null;\n  }\n}\n"
  },
  {
    "path": "src/services/user.ts",
    "content": "import { IDefaultParams } from '@/constants';\nimport { Issue } from '@/services/issues';\nimport request from '../utils/request';\n\nexport interface IUserInfo {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n  name: string;\n  company: string;\n  blog: string;\n  location: string;\n  email: string;\n  hireable?: any;\n  bio: string;\n  public_repos: number;\n  public_gists: number;\n  followers: number;\n  following: number;\n  created_at: string;\n  updated_at: string;\n}\n\nexport const getCurrentUser = (token?: string) => {\n  const headers = token ? { Authorization: token } : {};\n  return request.get<IUserInfo | null>('/user', {}, headers);\n};\n\nexport interface IStarred {\n  id: number;\n  node_id: string;\n  name: string;\n  full_name: string;\n  private: boolean;\n  owner: Owner;\n  html_url: string;\n  description: string;\n  fork: boolean;\n  url: string;\n  forks_url: string;\n  keys_url: string;\n  collaborators_url: string;\n  teams_url: string;\n  hooks_url: string;\n  issue_events_url: string;\n  events_url: string;\n  assignees_url: string;\n  branches_url: string;\n  tags_url: string;\n  blobs_url: string;\n  git_tags_url: string;\n  git_refs_url: string;\n  trees_url: string;\n  statuses_url: string;\n  languages_url: string;\n  stargazers_url: string;\n  contributors_url: string;\n  subscribers_url: string;\n  subscription_url: string;\n  commits_url: string;\n  git_commits_url: string;\n  comments_url: string;\n  issue_comment_url: string;\n  contents_url: string;\n  compare_url: string;\n  merges_url: string;\n  archive_url: string;\n  downloads_url: string;\n  issues_url: string;\n  pulls_url: string;\n  milestones_url: string;\n  notifications_url: string;\n  labels_url: string;\n  releases_url: string;\n  deployments_url: string;\n  created_at: string;\n  updated_at: string;\n  pushed_at: string;\n  git_url: string;\n  ssh_url: string;\n  clone_url: string;\n  svn_url: string;\n  homepage?: string;\n  size: number;\n  stargazers_count: number;\n  watchers_count: number;\n  language?: string;\n  has_issues: boolean;\n  has_projects: boolean;\n  has_downloads: boolean;\n  has_wiki: boolean;\n  has_pages: boolean;\n  forks_count: number;\n  mirror_url?: any;\n  archived: boolean;\n  disabled: boolean;\n  open_issues_count: number;\n  license?: License;\n  forks: number;\n  open_issues: number;\n  watchers: number;\n  default_branch: string;\n  permissions: Permissions;\n}\n\ninterface Permissions {\n  admin: boolean;\n  push: boolean;\n  pull: boolean;\n}\n\ninterface License {\n  key: string;\n  name: string;\n  spdx_id: string;\n  url?: string;\n  node_id: string;\n}\n\ninterface Owner {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n}\n\nexport interface starredParams {\n  per_page: number;\n  page: number;\n}\nexport const getStarred = (params: starredParams) => {\n  return request.get<IStarred[] | null>('/user/starred', params);\n};\n\nexport const follow = {\n  is: async (username: string): Promise<boolean> => {\n    return request.get(`/user/following/${username}`).then((data) => {\n      if (!data && data !== null) {\n        return true;\n      }\n      return false;\n    });\n  },\n  delete: async (username: string): Promise<boolean> => {\n    return request.delete(`/user/following/${username}`).then((data) => {\n      if (!data && data !== null) {\n        return true;\n      }\n      return false;\n    });\n  },\n  put: async (username: string): Promise<boolean> => {\n    return request.put(`/user/following/${username}`).then((data) => {\n      if (!data && data !== null) {\n        return true;\n      }\n      return false;\n    });\n  },\n};\n\nexport const starred = {\n  is: async (full_name: string): Promise<boolean> => {\n    return request.get(`/user/starred/${full_name}`).then((data) => {\n      if (!data && data !== null) {\n        return true;\n      }\n      return false;\n    });\n  },\n  delete: async (full_name: string): Promise<boolean> => {\n    return request.delete(`/user/starred/${full_name}`).then((data) => {\n      if (!data && data !== null) {\n        return true;\n      }\n      return false;\n    });\n  },\n  put: async (full_name: string): Promise<boolean> => {\n    return request.put(`/user/starred/${full_name}`).then((data) => {\n      if (!data && data !== null) {\n        return true;\n      }\n      return false;\n    });\n  },\n};\n\nexport const forks = {\n  is: async (full_name: string): Promise<boolean> => {\n    return request.get(`/user/starred/${full_name}`).then((data) => {\n      if (!data && data !== null) {\n        return true;\n      }\n      return false;\n    });\n  },\n  delete: async (full_name: string): Promise<boolean> => {\n    return request.delete(`/user/starred/${full_name}`).then((data) => {\n      if (!data && data !== null) {\n        return true;\n      }\n      return false;\n    });\n  },\n  put: async (full_name: string): Promise<boolean> => {\n    return request.put(`/user/starred/${full_name}`).then((data) => {\n      if (!data && data !== null) {\n        return true;\n      }\n      return false;\n    });\n  },\n};\n\nexport const getUserIssues = (params: any) => {\n  return request.get<Issue[] | null>('/user/issues', params);\n};\n\nexport const getCurrentUserRepos = (name, params: IDefaultParams) => {\n  return request.get<any | null>('/user/repos', params);\n};\n"
  },
  {
    "path": "src/services/users.ts",
    "content": "import { IDefaultParams } from '@/constants';\nimport request from '../utils/request';\nimport { IStarred, starredParams } from './user';\n\nexport interface IUserOrg {\n  login: string;\n  id: number;\n  node_id: string;\n  url: string;\n  repos_url: string;\n  events_url: string;\n  hooks_url: string;\n  issues_url: string;\n  members_url: string;\n  public_members_url: string;\n  avatar_url: string;\n  description: string;\n}\n\nexport const getUserOrgs = (username: string) => {\n  return request.get<IUserOrg[]>(`/users/${username}/orgs`);\n};\n\nexport interface IUserReceivedEvent {\n  id: string;\n  type: string;\n  actor: Actor;\n  repo: Repo;\n  payload: Payload;\n  public: boolean;\n  created_at: string;\n  org?: Org;\n}\n\ninterface Org {\n  id: number;\n  login: string;\n  gravatar_id: string;\n  url: string;\n  avatar_url: string;\n}\n\ninterface Payload {\n  action?: string;\n  ref?: string;\n  ref_type?: string;\n  master_branch?: string;\n  description?: string;\n  pusher_type?: string;\n  push_id?: number;\n  size?: number;\n  distinct_size?: number;\n  head?: string;\n  before?: string;\n  commits?: Commit[];\n  forkee?: Forkee;\n  issue?: Issue;\n  comment?: Comment;\n  repository?: Repository;\n  number?: number;\n  pull_request?: Pullrequest;\n  sender?: User;\n  member?: Member;\n  pages?: Page[];\n  release?: Release;\n}\n\ninterface Comment {\n  url: string;\n  html_url: string;\n  id: number;\n  node_id: string;\n  user: User;\n  position?: any;\n  line?: any;\n  path?: any;\n  commit_id: string;\n  created_at: string;\n  updated_at: string;\n  author_association: string;\n  body: string;\n}\n\ninterface Release {\n  url: string;\n  assets_url: string;\n  upload_url: string;\n  html_url: string;\n  id: number;\n  node_id: string;\n  tag_name: string;\n  target_commitish: string;\n  name?: any;\n  draft: boolean;\n  author: Author;\n  prerelease: boolean;\n  created_at: string;\n  published_at: string;\n  assets: any[];\n  tarball_url: string;\n  zipball_url: string;\n  body?: any;\n}\n\ninterface Author {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n}\n\ninterface Owner {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n}\n\ninterface Page {\n  page_name: string;\n  title: string;\n  summary?: any;\n  action: string;\n  sha: string;\n  html_url: string;\n}\n\ninterface Member {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n}\n\ninterface Pullrequest {\n  url: string;\n  id: number;\n  node_id: string;\n  html_url: string;\n  diff_url: string;\n  patch_url: string;\n  issue_url: string;\n  number: number;\n  state: string;\n  locked: boolean;\n  title: string;\n  user: User;\n  body: string;\n  created_at: string;\n  updated_at: string;\n  closed_at?: any;\n  merged_at?: any;\n  merge_commit_sha?: any;\n  assignee?: any;\n  assignees: any[];\n  requested_reviewers: any[];\n  requested_teams: any[];\n  labels: any[];\n  milestone?: any;\n  commits_url: string;\n  review_comments_url: string;\n  review_comment_url: string;\n  comments_url: string;\n  statuses_url: string;\n  head: Head;\n  base: Head;\n  _links: Links;\n  author_association: string;\n  draft: boolean;\n  merged: boolean;\n  mergeable?: any;\n  rebaseable?: any;\n  mergeable_state: string;\n  merged_by?: any;\n  comments: number;\n  review_comments: number;\n  maintainer_can_modify: boolean;\n  commits: number;\n  additions: number;\n  deletions: number;\n  changed_files: number;\n}\n\ninterface Links {\n  self: Self;\n  html: Self;\n  issue: Self;\n  comments: Self;\n  review_comments: Self;\n  review_comment: Self;\n  commits: Self;\n  statuses: Self;\n}\n\ninterface Self {\n  href: string;\n}\n\ninterface Head {\n  label: string;\n  ref: string;\n  sha: string;\n  user: User;\n  repo: Repository;\n}\n\ninterface Repository {\n  id: number;\n  node_id: string;\n  name: string;\n  full_name: string;\n  private: boolean;\n  owner: User;\n  html_url: string;\n  description?: any;\n  fork: boolean;\n  url: string;\n  forks_url: string;\n  keys_url: string;\n  collaborators_url: string;\n  teams_url: string;\n  hooks_url: string;\n  issue_events_url: string;\n  events_url: string;\n  assignees_url: string;\n  branches_url: string;\n  tags_url: string;\n  blobs_url: string;\n  git_tags_url: string;\n  git_refs_url: string;\n  trees_url: string;\n  statuses_url: string;\n  languages_url: string;\n  stargazers_url: string;\n  contributors_url: string;\n  subscribers_url: string;\n  subscription_url: string;\n  commits_url: string;\n  git_commits_url: string;\n  comments_url: string;\n  issue_comment_url: string;\n  contents_url: string;\n  compare_url: string;\n  merges_url: string;\n  archive_url: string;\n  downloads_url: string;\n  issues_url: string;\n  pulls_url: string;\n  milestones_url: string;\n  notifications_url: string;\n  labels_url: string;\n  releases_url: string;\n  deployments_url: string;\n  created_at: string;\n  updated_at: string;\n  pushed_at: string;\n  git_url: string;\n  ssh_url: string;\n  clone_url: string;\n  svn_url: string;\n  homepage?: any;\n  size: number;\n  stargazers_count: number;\n  watchers_count: number;\n  language?: any;\n  has_issues: boolean;\n  has_projects: boolean;\n  has_downloads: boolean;\n  has_wiki: boolean;\n  has_pages: boolean;\n  forks_count: number;\n  mirror_url?: any;\n  archived: boolean;\n  disabled: boolean;\n  open_issues_count: number;\n  license?: any;\n  forks: number;\n  open_issues: number;\n  watchers: number;\n  default_branch: string;\n}\n\ninterface Issue {\n  url: string;\n  repository_url: string;\n  labels_url: string;\n  comments_url: string;\n  events_url: string;\n  html_url: string;\n  id: number;\n  node_id: string;\n  number: number;\n  title: string;\n  user: User;\n  labels: Label[];\n  state: string;\n  locked: boolean;\n  assignee: User;\n  assignees: User[];\n  milestone: Milestone;\n  comments: number;\n  created_at: string;\n  updated_at: string;\n  closed_at?: any;\n  author_association: string;\n  body: string;\n}\n\ninterface Milestone {\n  url: string;\n  html_url: string;\n  labels_url: string;\n  id: number;\n  node_id: string;\n  number: number;\n  title: string;\n  description: string;\n  creator: User;\n  open_issues: number;\n  closed_issues: number;\n  state: string;\n  created_at: string;\n  updated_at: string;\n  due_on: string;\n  closed_at: string;\n}\n\ninterface Label {\n  id: number;\n  node_id: string;\n  url: string;\n  name: string;\n  color: string;\n  default: boolean;\n}\n\ninterface User {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n}\ninterface Forkee {\n  id: number;\n  node_id: string;\n  name: string;\n  full_name: string;\n  private: boolean;\n  owner: Owner;\n  html_url: string;\n  description: string;\n  fork: boolean;\n  url: string;\n  forks_url: string;\n  keys_url: string;\n  collaborators_url: string;\n  teams_url: string;\n  hooks_url: string;\n  issue_events_url: string;\n  events_url: string;\n  assignees_url: string;\n  branches_url: string;\n  tags_url: string;\n  blobs_url: string;\n  git_tags_url: string;\n  git_refs_url: string;\n  trees_url: string;\n  statuses_url: string;\n  languages_url: string;\n  stargazers_url: string;\n  contributors_url: string;\n  subscribers_url: string;\n  subscription_url: string;\n  commits_url: string;\n  git_commits_url: string;\n  comments_url: string;\n  issue_comment_url: string;\n  contents_url: string;\n  compare_url: string;\n  merges_url: string;\n  archive_url: string;\n  downloads_url: string;\n  issues_url: string;\n  pulls_url: string;\n  milestones_url: string;\n  notifications_url: string;\n  labels_url: string;\n  releases_url: string;\n  deployments_url: string;\n  created_at: string;\n  updated_at: string;\n  pushed_at: string;\n  git_url: string;\n  ssh_url: string;\n  clone_url: string;\n  svn_url: string;\n  homepage: string;\n  size: number;\n  stargazers_count: number;\n  watchers_count: number;\n  language?: any;\n  has_issues: boolean;\n  has_projects: boolean;\n  has_downloads: boolean;\n  has_wiki: boolean;\n  has_pages: boolean;\n  forks_count: number;\n  mirror_url?: any;\n  archived: boolean;\n  disabled: boolean;\n  open_issues_count: number;\n  license?: License;\n  forks: number;\n  open_issues: number;\n  watchers: number;\n  default_branch: string;\n  public: boolean;\n}\n\ninterface License {\n  key: string;\n  name: string;\n  spdx_id: string;\n  url: string;\n  node_id: string;\n}\n\ninterface Owner {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n}\n\ninterface Commit {\n  sha: string;\n  author: Author;\n  message: string;\n  distinct: boolean;\n  url: string;\n}\n\ninterface Author {\n  email: string;\n  name: string;\n}\n\ninterface Repo {\n  id: number;\n  name: string;\n  url: string;\n}\n\ninterface Actor {\n  id: number;\n  login: string;\n  display_login: string;\n  gravatar_id: string;\n  url: string;\n  avatar_url: string;\n}\n\nexport interface IUserReceivedEventsRequestData {\n  per_page: number;\n  page: number;\n}\n\nexport const getUserReceivedEvents = (\n  username: string,\n  data?: IUserReceivedEventsRequestData,\n) => {\n  return request.get<IUserReceivedEvent[] | null>(\n    `/users/${username}/received_events`,\n    data,\n  );\n};\nexport const getUserEvents = (\n  username: string,\n  data?: IUserReceivedEventsRequestData,\n) => {\n  return request.get<IUserReceivedEvent[] | null>(\n    `/users/${username}/events`,\n    data,\n  );\n};\n\nexport interface IUser {\n  login: string;\n  id: number;\n  node_id: string;\n  avatar_url: string;\n  gravatar_id: string;\n  url: string;\n  html_url: string;\n  followers_url: string;\n  following_url: string;\n  gists_url: string;\n  starred_url: string;\n  subscriptions_url: string;\n  organizations_url: string;\n  repos_url: string;\n  events_url: string;\n  received_events_url: string;\n  type: string;\n  site_admin: boolean;\n  name: string;\n  company: string;\n  blog: string;\n  location: string;\n  email: string;\n  hireable?: any;\n  bio: string;\n  public_repos: number;\n  public_gists: number;\n  followers: number;\n  following: number;\n  created_at: string;\n  updated_at: string;\n}\n\nexport const getUser = (username: string) => {\n  return request.get<IUser | null>(`/users/${username}`);\n};\n\nexport const getUserStarred = (username, params: starredParams) => {\n  return request.get<IStarred[] | null>(`/users/${username}/starred`, params);\n};\n\nexport const getUserRepos = (username: string, params: IDefaultParams) => {\n  return request.get<any | null>(`/users/${username}/repos`, params);\n};\nexport const getUserFollowers = (username: string, params: IDefaultParams) => {\n  return request.get<any | null>(`/users/${username}/followers`, params);\n};\nexport const getUserFollowing = (username: string, params: IDefaultParams) => {\n  return request.get<any | null>(`/users/${username}/following`, params);\n};\n"
  },
  {
    "path": "src/store/constatnts.ts",
    "content": "export const LOGIN = 'user/login';\nexport const LOGOUT = 'user/logout';\n\nexport const UPDATE_SELECTED_LANGS = 'language/update_selected_langs';\nexport const UPDATE_CURRENT_LANG = 'language/update_current_lang';\n\nexport const UPDATE_ISSUE_INFO = 'issue/update_issue_info';\nexport const CLEAR_ISSUE_INFO = 'issue/clear_issue_info';\n"
  },
  {
    "path": "src/store/index.ts",
    "content": "import { applyMiddleware, createStore } from 'redux';\n// import thunkMiddleware from 'redux-thunk'\nimport { createLogger } from 'redux-logger';\nimport rootReducer from './reducers';\n\nlet middlewares: any = [\n  // thunkMiddleware\n];\nif (process.env.NODE_ENV === 'development') {\n  middlewares.push(createLogger());\n}\n\nexport default function configStore() {\n  const store = createStore(rootReducer, applyMiddleware(...middlewares));\n  return store;\n}\n"
  },
  {
    "path": "src/store/reducers/issue.ts",
    "content": "import { CLEAR_ISSUE_INFO, UPDATE_ISSUE_INFO } from '../constatnts';\n\nimport { IAction } from '../reducers';\n\ninterface IssueState {\n  info: any;\n}\nconst INITIAL_STATE: IssueState = {\n  info: null,\n};\n\nconst issueReducer = (state = INITIAL_STATE, action: IAction) => {\n  const { type, payload } = action;\n  switch (type) {\n    case UPDATE_ISSUE_INFO:\n      return { ...state, info: payload };\n    case CLEAR_ISSUE_INFO:\n      return { ...state, info: null };\n    default:\n      return state;\n  }\n};\n\nexport default issueReducer;\n"
  },
  {
    "path": "src/store/reducers/lang.ts",
    "content": "import Taro from '@tarojs/taro';\nimport { UPDATE_SELECTED_LANGS } from '../constatnts';\nimport { IAction } from '../reducers';\n\nexport interface Language {\n  language: string;\n  title: string;\n}\n\nconst defaultLangs: Language[] = [\n  {\n    language: '',\n    title: 'All Languages',\n  },\n  {\n    language: 'java',\n    title: 'Java',\n  },\n  {\n    language: 'javascript',\n    title: 'JavaScript',\n  },\n  {\n    language: 'typescript',\n    title: 'TypeScript',\n  },\n];\ninterface ILangState {\n  // current: string\n  selected: Language[];\n}\n\nconst INITIAL_STATE: ILangState = {\n  // current: Taro.getStorageSync('current') || '',\n  selected: Taro.getStorageSync('selected') || defaultLangs,\n};\n\nconst languageReducer = (state = INITIAL_STATE, action: IAction) => {\n  const { type, payload } = action;\n  switch (type) {\n    case UPDATE_SELECTED_LANGS:\n      Taro.setStorageSync('selected', payload);\n      return { ...state, selected: payload };\n    // case UPDATE_CURRENT_LANG:\n    //   Taro.setStorageSync('current', payload)\n    //   return { ...state, current: payload }\n    default:\n      return state;\n  }\n};\n\nexport default languageReducer;\n"
  },
  {
    "path": "src/store/reducers/user.ts",
    "content": "import Taro from '@tarojs/taro';\nimport { LOGIN, LOGOUT } from '../constatnts';\nimport { IAction } from '../reducers';\n\nconst INITIAL_STATE: IUserState = {\n  username: Taro.getStorageSync('username') || '',\n};\n\ninterface IUserState {\n  username: string;\n}\n\nconst userReducer = (state = INITIAL_STATE, action: IAction) => {\n  const { type, payload } = action;\n  switch (type) {\n    case LOGIN:\n      const { username, token } = payload;\n      Taro.setStorageSync('username', username);\n\n      token && Taro.setStorageSync('authorization', token);\n\n      return { ...state, username };\n    case LOGOUT:\n      Taro.setStorageSync('username', '');\n      Taro.setStorageSync('authorization', '');\n      return { ...state, username: '' };\n    default:\n      return state;\n  }\n};\n\nexport default userReducer;\n"
  },
  {
    "path": "src/store/reducers.ts",
    "content": "import { combineReducers } from 'redux';\nimport issueReducer from './reducers/issue';\nimport languageReducer from './reducers/lang';\nimport userReducer from './reducers/user';\n\nexport interface IAction {\n  type: string;\n  payload: any;\n}\n\nexport default combineReducers({\n  user: userReducer,\n  lang: languageReducer,\n  issue: issueReducer,\n});\n"
  },
  {
    "path": "src/style/variables.scss",
    "content": "/* Custom Theme */\n$color-brand: #007afb;\n$color-brand-light: #409bfc;\n$color-brand-dark: #0062c9;\n\n$primary: $color-brand;\n$normal: #ababab;\n$bg: #f3f3f3;\n$navBg: #fafafa;\n$text-color: #6d7178;\n$primary-text-color: #313b4c;\n$loading-text-color: #57606a;\n$boxShadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n$itemBg: rgba(255, 255, 255, 0.9);\n"
  },
  {
    "path": "src/utils/base64.js",
    "content": "const Base64 = {\n  _keyStr: \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",\n  encode: function(e) {\n    var t = \"\"\n    var n, r, i, s, o, u, a\n    var f = 0\n    e = Base64._utf8_encode(e)\n    while (f < e.length) {\n      n = e.charCodeAt(f++)\n      r = e.charCodeAt(f++)\n      i = e.charCodeAt(f++)\n      s = n >> 2\n      o = ((n & 3) << 4) | (r >> 4)\n      u = ((r & 15) << 2) | (i >> 6)\n      a = i & 63\n      if (isNaN(r)) {\n        u = a = 64\n      } else if (isNaN(i)) {\n        a = 64\n      }\n      t =\n        t +\n        this._keyStr.charAt(s) +\n        this._keyStr.charAt(o) +\n        this._keyStr.charAt(u) +\n        this._keyStr.charAt(a)\n    }\n    return t\n  },\n  decode: function(e) {\n    var t = \"\"\n    var n, r, i\n    var s, o, u, a\n    var f = 0\n    e = e.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\")\n    while (f < e.length) {\n      s = this._keyStr.indexOf(e.charAt(f++))\n      o = this._keyStr.indexOf(e.charAt(f++))\n      u = this._keyStr.indexOf(e.charAt(f++))\n      a = this._keyStr.indexOf(e.charAt(f++))\n      n = (s << 2) | (o >> 4)\n      r = ((o & 15) << 4) | (u >> 2)\n      i = ((u & 3) << 6) | a\n      t = t + String.fromCharCode(n)\n      if (u != 64) {\n        t = t + String.fromCharCode(r)\n      }\n      if (a != 64) {\n        t = t + String.fromCharCode(i)\n      }\n    }\n    t = Base64._utf8_decode(t)\n    return t\n  },\n  _utf8_encode: function(e) {\n    e = e.replace(/\\r\\n/g, \"\\n\")\n    var t = \"\"\n    for (var n = 0; n < e.length; n++) {\n      var r = e.charCodeAt(n)\n      if (r < 128) {\n        t += String.fromCharCode(r)\n      } else if (r > 127 && r < 2048) {\n        t += String.fromCharCode((r >> 6) | 192)\n        t += String.fromCharCode((r & 63) | 128)\n      } else {\n        t += String.fromCharCode((r >> 12) | 224)\n        t += String.fromCharCode(((r >> 6) & 63) | 128)\n        t += String.fromCharCode((r & 63) | 128)\n      }\n    }\n    return t\n  },\n  _utf8_decode: function(e) {\n    var t = \"\"\n    var n = 0\n    var r = (c1 = c2 = 0)\n    while (n < e.length) {\n      r = e.charCodeAt(n)\n      if (r < 128) {\n        t += String.fromCharCode(r)\n        n++\n      } else if (r > 191 && r < 224) {\n        c2 = e.charCodeAt(n + 1)\n        t += String.fromCharCode(((r & 31) << 6) | (c2 & 63))\n        n += 2\n      } else {\n        c2 = e.charCodeAt(n + 1)\n        c3 = e.charCodeAt(n + 2)\n        t += String.fromCharCode(\n          ((r & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)\n        )\n        n += 3\n      }\n    }\n    return t\n  }\n}\nexport default Base64\n"
  },
  {
    "path": "src/utils/common.ts",
    "content": "import Taro from '@tarojs/taro';\n\nlet isShoTip = false;\nexport const showLoginTips = () => {\n  if (isShoTip) {\n    return;\n  }\n  isShoTip = true;\n  Taro.showModal({\n    title: '是否前往登录?',\n    content: '该页面操作需要登录才能操作',\n    cancelText: 'No',\n    cancelColor: '#fb3e3b',\n    confirmText: 'Yes',\n    confirmColor: '#007afb',\n    success(res) {\n      if (res.confirm) {\n        Taro.navigateTo({ url: '/pages/login/index' });\n      } else if (res.cancel) {\n      }\n      isShoTip = false;\n    },\n  });\n};\n\nexport const copyText = async (text: string) => {\n  const { data } = await Taro.setClipboardData({\n    data: `${text}`,\n  });\n  Taro.showToast({\n    title: `复制成功:${text}`,\n    icon: 'none',\n    mask: true,\n  });\n};\n\nexport const getUniqueId = () => {\n  return Math.random().toString(36).substr(2);\n};\n"
  },
  {
    "path": "src/utils/date.ts",
    "content": "export const getFormatDate = (rawDate = ''): string => {\n  const itemArr = new Date(rawDate).toString().split(' ');\n  const m = itemArr[1];\n  const d = itemArr[2];\n  const y = itemArr[3];\n  return `${m} ${d}, ${y}`;\n};\n\nexport const getTimeAgo = (rawDate = ''): string => {\n  const date = new Date(rawDate);\n\n  const now = new Date().getTime();\n  const limit = (now - date.getTime()) / 1e3;\n  let content = '';\n  if (limit < 60) {\n    content = 'just now';\n  } else if (limit >= 60 && limit < 3600) {\n    content = Math.floor(limit / 60) + ' minutes ago';\n  } else if (limit >= 3600 && limit < 86400) {\n    content = Math.floor(limit / 3600) + ' hours ago';\n  } else if (limit >= 86400 && limit < 2592000) {\n    content = Math.floor(limit / 86400) + ' days ago';\n  } else if (limit >= 2592000 && limit < 31104000) {\n    content = Math.floor(limit / 2592000) + ' months ago';\n  } else {\n    content = getFormatDate(rawDate);\n  }\n  return content;\n};\n"
  },
  {
    "path": "src/utils/event_bus.ts",
    "content": "import { Events } from '@tarojs/taro';\n\nconst events = new Events();\nexport default events;\n"
  },
  {
    "path": "src/utils/repo.ts",
    "content": "export function FindGitHubUrl(c) {\n  var urls = FindUrls(c);\n  if (urls.length == 0) {\n    return '';\n  }\n  var gurl = '';\n  for (var j = 0; j < urls.length; j++) {\n    if (isGitHubPage(urls[j])) {\n      //@ts-ignore\n      if (gurl == '' || gurl.length > urls[j].length) {\n        gurl = urls[j];\n      }\n    }\n  }\n  if (gurl) {\n    return gurl;\n  }\n  return urls[0];\n}\n\nexport function FindUrls(c) {\n  var linkRegExp = /https?:\\/\\/[/0-9a-zA-Z.&=#_?-]+/g;\n  var urls = [];\n  var match;\n  while ((match = linkRegExp.exec(c))) {\n    //@ts-ignore\n    urls.push(match[0]);\n  }\n  return urls;\n}\n\nexport function ArrayContains(arr, val) {\n  var i = arr.length;\n  while (i--) {\n    if (arr[i] === val) {\n      return true;\n    }\n  }\n  return false;\n}\n\nexport function GetPercent(num, total) {\n  num = parseFloat(num);\n  total = parseFloat(total);\n  if (isNaN(num) || isNaN(total)) {\n    return '-';\n  }\n  return total <= 0 ? '0%' : Math.round((num / total) * 10000) / 100.0 + '%';\n}\n\nconst CodeFileExtentsions = {\n  java: 'java',\n  kt: 'java',\n  scala: 'java',\n  py: 'python',\n  go: 'go',\n  sh: 'markup',\n  js: 'javascript',\n  jsx: 'javascript',\n  php: 'php',\n  c: 'c',\n  json: 'json',\n  cpp: 'go',\n  html: 'markup',\n  yml: 'markup',\n  yaml: 'markup',\n  R: 'R',\n  css: 'css',\n  scss: 'css',\n  wxss: 'css',\n  swift: 'swift',\n  xml: 'markup',\n  wxml: 'markup',\n  ipynb: 'python',\n};\n\nexport function getCodeMarkup(file) {\n  for (var key in CodeFileExtentsions) {\n    if (file.endsWith('.' + key)) {\n      return CodeFileExtentsions[key];\n    }\n  }\n  return false;\n}\n\nconst ImageFileExtentsions = ['png', 'jpg', 'gif', 'jpeg', 'ico', 'incs'];\n\nexport function isImageFile(file) {\n  for (var i in ImageFileExtentsions) {\n    var key = ImageFileExtentsions[i];\n    if (file.toLowerCase().endsWith('.' + key)) {\n      return true;\n    }\n  }\n  return false;\n}\n\nexport function mdLink(text, link) {\n  return '[' + text + '](' + link + ')';\n}\n\nexport const githubHttpUrl = `http://github.com`;\nexport const githubHttpsUrl = `https://github.com`;\n\nexport function isGitHubPage(url) {\n  return url.startsWith(githubHttpUrl) || url.startsWith(githubHttpsUrl);\n}\n\ntype owner = 'owner' | '';\ntype repo = 'repo' | '';\ntype filePath = 'filePath' | '';\n\nexport type parseGitHubReturn = [owner, repo, filePath];\n\nexport function parseGitHub(url: string): parseGitHubReturn {\n  let arr = url.split('/');\n  if (arr.length == 4) {\n    return [arr[3] as owner, '', ''];\n  } else if (arr.length == 5) {\n    let repo = arr[4];\n    if (repo.indexOf('#')) {\n      repo = arr[4].split('#')[0];\n    }\n    return [arr[3] as owner, repo as repo, ''];\n  } else if (arr.length > 5) {\n    const len = (githubHttpsUrl + '/' + arr[3] + '/' + arr[4] + '/').length;\n    let file = url.slice(len);\n    return [arr[3] as owner, arr[4] as repo, file as filePath];\n  }\n  return ['', '', ''];\n}\n\nexport const getNavPath = ({ owner, filePath, repo }): string => {\n  let url = '';\n  if (filePath) {\n    const full_name = `${owner}/${repo}`;\n    if (filePath.startsWith('issues/new')) {\n      url = `/pages/issues/create-issue?full_name=${full_name}`;\n    } else if (/^issues\\/\\d+/.test(filePath)) {\n      const num = filePath.split('/')[1];\n      url = `/pages/issues/issue-detail/index?full_name=${full_name}&number=${num}`;\n    } else if (filePath.startsWith('issues')) {\n      url = `/pages/issues/index?full_name=${full_name}`;\n    } else if (filePath.startsWith('pulls?q=')) {\n      // TODO\n    } else if (filePath.startsWith('pull')) {\n      // TODO\n    } else {\n      const isFile = /.*\\.\\w{1,10}$/.test(filePath);\n      const path = `/repos/${owner}/${repo}/contents/${filePath}`;\n      if (isFile) {\n        url = `/pages/repos/content/index?url=${path}`;\n      } else {\n        url = `/pages/repos/files/index?url=${path}`;\n      }\n    }\n  } else if (repo) {\n    url = `/pages/repos/index?owner=${owner}&repo=${repo}`;\n  } else {\n    url = `/pages/developer/index?name=${owner}`;\n  }\n  return url;\n};\n"
  },
  {
    "path": "src/utils/request.ts",
    "content": "import Taro from '@tarojs/taro';\n\nlet BASE_URL = 'https://api.github.com';\n\n// TODO 目前不做缓存\nconst isDev = process.env.NODE_ENV === 'development' && false;\n\nlet token = Taro.getStorageSync('authorization');\n\ntype Method =\n  | 'OPTIONS'\n  | 'GET'\n  | 'HEAD'\n  | 'POST'\n  | 'PUT'\n  | 'DELETE'\n  | 'TRACE'\n  | 'CONNECT';\n\nexport const request = (\n  url: string,\n  data?: any,\n  method: Method = 'GET',\n  headers = {},\n) => {\n  if (isDev) {\n    const data = Taro.getStorageSync(url);\n    if (data) {\n      return Promise.resolve(data);\n    }\n  }\n\n  const option = {\n    url,\n    data,\n    method,\n    header: {\n      Authorization: token || (token = Taro.getStorageSync('authorization')),\n      ...headers,\n    },\n  };\n\n  if (\n    (data && data.page > 1) ||\n    url.endsWith('/readme') ||\n    url.includes('/user/starred')\n  ) {\n    // TODO\n  } else {\n    Taro.showLoading({ title: 'loading..' });\n  }\n  return Taro.request(option)\n    .then(({ statusCode, data }) => {\n      if (statusCode >= 200 && statusCode < 300) {\n        if (isDev) {\n          Taro.setStorageSync(url, data);\n        }\n        return data;\n      }\n      // TODO refactor\n      if (\n        (statusCode === 404 && url.includes('/user/following')) ||\n        url.includes('/user/starred')\n      ) {\n        return null;\n      }\n      if (statusCode === 401) {\n        // TODO\n        if (\n          url.includes('/user/starred') ||\n          (url.includes('/user') && method === 'GET')\n        ) {\n          return null;\n        }\n        throw new Error(`Error 401: Required Login!`);\n      }\n      if (statusCode === 403) {\n        throw new Error(`Error 403: API rate limit exceeded, required login!`);\n      }\n      const msg = `Error: code ${statusCode}`;\n      throw new Error(msg);\n    })\n    .catch(({ message }) => {\n      Taro.showToast({\n        title: message || 'error(─‿─)',\n        icon: 'none',\n        duration: 1500,\n        mask: true,\n      });\n      return null;\n    })\n    .finally(() => {\n      Taro.stopPullDownRefresh();\n      Taro.hideLoading();\n    });\n};\n\nexport default {\n  get<T>(url = '/', data = {}, headers = {}): Promise<T> {\n    return request(BASE_URL + url, data, 'GET', headers);\n  },\n\n  post<T>(url = '/', data = {}): Promise<T> {\n    return request(BASE_URL + url, data, 'POST');\n  },\n\n  put<T>(url = '/', data = {}): Promise<T> {\n    return request(BASE_URL + url, data, 'PUT');\n  },\n\n  delete<T>(url = '/', data = {}): Promise<T> {\n    return request(BASE_URL + url, data, 'DELETE');\n  },\n};\n"
  },
  {
    "path": "src/utils/size.ts",
    "content": "export function bytesToSize(bytes: number | string): string {\n  bytes = +bytes;\n  const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\n  if (bytes == 0) return '0 B';\n  const i = parseInt('' + Math.floor(Math.log(bytes) / Math.log(1024)));\n  return parseFloat((bytes / Math.pow(1024, i)).toFixed(2)) + ' ' + sizes[i];\n}\n"
  },
  {
    "path": "src/wemark/parser.js",
    "content": "var Remarkable = require('./remarkable');\nvar parser = new Remarkable({\n\thtml: true\n});\nvar prism = require('./prism');\nvar idDict = {}\nvar images = []\n\nfunction urlModify(baseurl, url, currentDir) {\n  var url = _urlModify(baseurl, url, currentDir)\n  images.push(url)\n  return url\n}\n\nfunction _urlModify(baseurl, url, currentDir) {\n  var re = '/blob/master/'\n  if (url.startsWith('https://github.com/') && url.indexOf(re)>0) {\n    // 暂时以 /blob/master/ 作为替换标识\n    return baseurl + url.slice(url.indexOf(re) + re.length, url.length)\n  }\n  if (url == \"\" || url == undefined || url.startsWith('http')) {\n    return url\n  }\n  if (url.startsWith('./')) {url = url.replace('./', currentDir + '/')}\n  return baseurl + url;\n}\n\nfunction isHtml(h) {\n  var h = h.trim()\n  h = h.replace(/^\\s+|\\s+$/g, '');  \n  return h.startsWith('<') && h.endsWith('>')\n}\n\nfunction parse(md, options){\n\tif(!options) options = {};\n\tvar tokens = parser.parse(md, {});\n\n\t// markdwon渲染列表\n\tvar renderList = [];\n\n\tvar env = [];\n\t// 记录当前list深度\n\tvar listLevel = 0;\n\t// 记录第N级ol的顺序\n\tvar orderNum = [0, 0];\n\tvar tmp;\n  var parseHtml = function(html, ret) {\n    var list = [{ type: 'text', reg: /<a.*?>(.*?)<\\/a>/g }, {type: 'image', reg: /<img.*?src\\s*=\\s*['\"]*([^\\s^'^\"]+).*?(?:\\/\\s*|<\\/img)?>/g}, {type: 'text', reg: /<h2.*?>(.*?)<\\/h2>/g}, {type: 'text', reg: /<h1.*?>(.*?)<\\/h1>/g}, {type: 'text', reg: /<p.*?>(.*?)<\\/p>/g}, {type: 'text', reg: /<p.*?>(.*)/g}]\n    var match;\n    list.map(function(p) {\n      var tmpHtml = html\n      while (match = p.reg.exec(tmpHtml)) {\n        // console.log('match: ', match)\n        if (match[1]) {\n          if (isHtml(match[1])) {\n            var left = parseHtml(match[1], ret)\n            match[1] = match[1].replace(match[1], left)\n          }\n          var data = { type: p.type, content: match[1]}\n          if (p.type == 'image') {\n            data['src'] = urlModify(options.baseurl, match[1], options.currentDir)\n          }\n          ret.push(data)\n          html = html.replace(match[0], '')\n        }\n      }\n    })\n    if (html) {\n      ret.push({ type: 'text', content: html })\n    }\n    return html\n  }\n\t// 获取inline内容\n\tvar getInlineContent = function(inlineToken){\n\t\tvar ret = [];\n\t\tvar env;\n\t\tvar tokenData = {};\n    if (inlineToken.type === 'htmlblock' || (inlineToken.type === 'inline' && isHtml(inlineToken.content))){\n\t\t\t// 匹配video\n\t\t\t// 兼容video[src]和video > source[src]\n\t\t\tvar videoRegExp = /<video.*?src\\s*=\\s*['\"]*([^\\s^'^\"]+).*?(poster\\s*=\\s*['\"]*([^\\s^'^\"]+).*?)?(?:\\/\\s*>|<\\/video>)/g;\n            \n\t    var match;\n\t    var html = inlineToken.content.replace(/\\n/g, '');\n      parseHtml(html, ret)\n\n\t\t\twhile(match = videoRegExp.exec(html)){\n\t\t\t\tif(match[1]){\n\t\t\t\t\tvar retParam = {\n\t\t\t\t\t\ttype: 'video',\n\t\t\t\t\t\tsrc: match[1]\n\t\t\t\t\t};\n\n\t\t\t\t\tif(match[3]) {\n\t\t\t\t\t\tretParam.poster = match[3];\n\t\t\t\t\t}\n\n\t\t\t\t\tret.push(retParam);\n\t\t\t\t}\n\t\t\t}\n\t\t}else{\n\t\t\tinlineToken.children && inlineToken.children.forEach(function(token, index){\n\t\t\t\tif(['text', 'code'].indexOf(token.type) > -1){\n\t\t\t\t\tret.push({\n\t\t\t\t\t\ttype: env || token.type,\n\t\t\t\t\t\tcontent: token.content,\n            id: idDict[token.content] || '',\n\t\t\t\t\t\tdata: tokenData\n\t\t\t\t\t});\n\t\t\t\t\tenv = '';\n\t\t\t\t\ttokenData = {};\n\t\t\t\t}else if(token.type === 'del_open'){\n\t\t\t\t\tenv = 'deleted';\n\t\t\t\t}else if (token.type === 'softbreak') {\n\t\t\t\t\t// todo:处理li的问题\n\t\t\t\t\t/* ret.push({\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tcontent: ' '\n\t\t\t\t\t}); */\n\t\t\t\t}else if (token.type === 'hardbreak') {\n\t\t\t\t\tret.push({\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tcontent: '\\n'\n\t\t\t\t\t});\n\t\t\t\t}else if(token.type === 'strong_open'){\n\t\t\t\t\tif(env === 'em') {\n\t\t\t\t\t\tenv = 'strong_em';\n\t\t\t\t\t}else {\n\t\t\t\t\t\tenv = 'strong';\n\t\t\t\t\t}\n\t\t\t\t}else if (token.type === 'em_open') {\n\t\t\t\t\tif(env === 'strong') {\n\t\t\t\t\t\tenv = 'strong_em';\n\t\t\t\t\t}else {\n\t\t\t\t\t\tenv = 'em';\n\t\t\t\t\t}\n\t\t\t\t}else if (token.type === 'link_open') {\n\t\t\t\t\tif(options.link){\n\t\t\t\t\t\tenv = 'link';\n\t\t\t\t\t\ttokenData = {\n\t\t\t\t\t\t\thref: token.href\n\t\t\t\t\t\t};\n            if (token.href.startsWith('#')) {\n              // console.log(\"link:\", token, token.href, inlineToken.children[index + 1].content)\n              idDict[inlineToken.children[index+1].content] = token.href.substr(1)\n            }\n\t\t\t\t\t}\n\t\t\t\t}else if(token.type === 'image'){\n\t\t\t\t\tret.push({\n\t\t\t\t\t\ttype: token.type,\n            src: urlModify(options.baseurl, token.src, options.currentDir)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn ret;\n\t};\n\n\tvar getBlockContent = function(blockToken, index, firstInLi){\n\n\t\tif(blockToken.type === 'htmlblock'){\n\t\t\treturn getInlineContent(blockToken);\n\t\t}else if(blockToken.type === 'heading_open'){\n\t\t\treturn {\n\t\t\t\ttype: 'h' + blockToken.hLevel,\n\t\t\t\tcontent: getInlineContent(tokens[index+1])\n\t\t\t};\n\t\t}else if(blockToken.type === 'paragraph_open'){\n\t\t\t// var type = 'p';\n\t\t\tvar prefix = '';\n\t\t\tif(env.length){\n\t\t\t\tprefix = env.join('_') + '_';\n\t\t\t}\n\n\t\t\tvar content = getInlineContent(tokens[index+1]);\n\n\t\t\t// 处理ol前的数字\n\t\t\tif(env[env.length - 1] === 'li' && env[env.length - 2] === 'ol'){\n\t\t\t\tlet prefix = '　';\n\t\t\t\tif (firstInLi){\n\t\t\t\t\tprefix = orderNum[listLevel - 1] + '. ';\n\t\t\t\t}\n\t\t\t\tcontent.unshift({\n\t\t\t\t\ttype:'text',\n\t\t\t\t\tcontent: prefix\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\ttype: prefix + 'p',\n\t\t\t\tcontent: content\n\t\t\t};\n\t\t}else if(blockToken.type === 'fence' || blockToken.type === 'code'){\n\t\t\tcontent = blockToken.content;\n\t\t\tvar highlight = false;\n            if (!blockToken.params){blockToken.params = 'python'}\n            if (blockToken.params == 'c' || blockToken.params == 'c++' || blockToken.params == 'c#') {\n                blockToken.params = 'clike'\n            }\n\t\t\tif(options.highlight && blockToken.params && prism.languages[blockToken.params]){\n\t\t\t\tcontent = prism.tokenize(content, prism.languages[blockToken.params]);\n\t\t\t\thighlight = true;\n\t\t\t}\n\n            const flattenTokens = (tokensArr, result = [], parentType = '') => {\n                if (Array.isArray(tokensArr)) {\n                    tokensArr.forEach(el => {\n                        if (typeof el === 'object') {\n                            // el.type = parentType + ' wemark_inline_code_' + el.type;\n                            if(Array.isArray(el.content)){\n                                flattenTokens(el.content, result, el.type);\n                            }else{\n                                flattenTokens(el, result, el.type);\n                            }\n                        } else {\n                            const obj = {};\n                            obj.type = parentType || 'text';\n                            // obj.type = parentType + ' wemark_inline_code_';\n                            obj.content = el;\n                            result.push(obj);\n                        }\n                    })\n                    return result\n                } else {\n                    result.push(tokensArr)\n                    return result\n                }\n            }\n\n            if(highlight){\n                var tokenList = content;\n                content = [];\n                tokenList.forEach((token) => {\n                    // let contentListForToken = [];\n                    if(Array.isArray(token.content)){\n                        content = content.concat(flattenTokens(token.content, [], ''));\n                    }else{\n                        content.push(token);\n                    }\n                });\n            }\n            // flatten nested tokens in html\n            // if (blockToken.params === 'html') {\n            // content = flattenTokens(content)\n            // }\n            // console.log(content);\n\n\t\t\treturn {\n\t\t\t\ttype: 'code',\n\t\t\t\thighlight: highlight,\n\t\t\t\tcontent: content\n\t\t\t};\n\t\t}else if(blockToken.type === 'bullet_list_open'){\n\t\t\tenv.push('ul');\n\t\t\tlistLevel++;\n\t\t}else if(blockToken.type === 'ordered_list_open'){\n\t\t\tenv.push('ol');\n\t\t\tlistLevel++;\n\t\t}else if(blockToken.type === 'list_item_open'){\n\t\t\tenv.push('li');\n\t\t\tif(env[env.length - 2] === 'ol' ){\n\t\t\t\torderNum[listLevel - 1]++;\n\t\t\t}\n\t\t}else if(blockToken.type === 'list_item_close'){\n\t\t\tenv.pop();\n\t\t}else if(blockToken.type === 'bullet_list_close'){\n\t\t\tenv.pop();\n\t\t\tlistLevel--;\n\t\t}else if(blockToken.type === 'ordered_list_close'){\n\t\t\tenv.pop();\n\t\t\tlistLevel--;\n\t\t\torderNum[listLevel] = 0;\n\t\t}else if(blockToken.type === 'blockquote_open'){\n\t\t\tenv.push('blockquote');\n\t\t}else if(blockToken.type === 'blockquote_close'){\n\t\t\tenv.pop();\n\t\t}else if(blockToken.type === 'tr_open'){\n\t\t\ttmp = {\n\t\t\t\ttype: 'table_tr',\n        content: []\n\t\t\t};\n\t\t\treturn tmp;\n\t\t}else if(blockToken.type === 'th_open'){\n\t\t\ttmp.content.push({\n\t\t\t\ttype: 'table_th',\n\t\t\t\tcontent: getInlineContent(tokens[index+1])\n\t\t\t});\n\t\t}else if(blockToken.type === 'td_open'){\n\t\t\ttmp.content.push({\n\t\t\t\ttype: 'table_td',\n\t\t\t\tcontent: getInlineContent(tokens[index+1])\n\t\t\t});\n\t\t}\n\t};\n\n\ttokens.forEach(function(token, index){\n\t\t// 标记是否刚进入li，如果刚进入，可以加符号/序号，否则不加\n\t\tvar firstInLi = false;\n\t\tif(token.type === 'paragraph_open' && tokens[index-1] && tokens[index-1].type === 'list_item_open'){\n\t\t\tfirstInLi = true;\n\t\t}\n\t\tvar blockContent = getBlockContent(token, index, firstInLi);\n\t\tif(!blockContent) return;\n\t\tif(!Array.isArray(blockContent)){\n\t\t\tblockContent = [blockContent];\n\t\t}\n\t\tblockContent.forEach(function(block){\n\t\t\tif(Array.isArray(block.content)){\n\t\t\t\tblock.isArray = true;\n\t\t\t}else{\n\t\t\t\tblock.isArray = false;\n\t\t\t}\n\t\t\trenderList.push(block);\n\t\t});\n\t});\n\n\treturn [renderList, images];\n}\n\nmodule.exports = {\n\tparse: parse\n};\n"
  },
  {
    "path": "src/wemark/prism.js",
    "content": "/* PrismJS 1.17.1\nhttps://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+basic+markup-templating+go+java+php+json+typescript+sql+python */\nvar _self=\"undefined\"!=typeof window?window:\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\\blang(?:uage)?-([\\w-]+)\\b/i,a=0;var _={manual:u.Prism&&u.Prism.manual,disableWorkerMessageHandler:u.Prism&&u.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof L?new L(e.type,_.util.encode(e.content),e.alias):Array.isArray(e)?e.map(_.util.encode):e.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/\\u00a0/g,\" \")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,\"__id\",{value:++a}),e.__id},clone:function n(e,r){var t,a,i=_.util.type(e);switch(r=r||{},i){case\"Object\":if(a=_.util.objId(e),r[a])return r[a];for(var o in t={},r[a]=t,e)e.hasOwnProperty(o)&&(t[o]=n(e[o],r));return t;case\"Array\":return a=_.util.objId(e),r[a]?r[a]:(t=[],r[a]=t,e.forEach(function(e,a){t[a]=n(e,r)}),t);default:return e}}},languages:{extend:function(e,a){var n=_.util.clone(_.languages[e]);for(var r in a)n[r]=a[r];return n},insertBefore:function(n,e,a,r){var t=(r=r||_.languages)[n],i={};for(var o in t)if(t.hasOwnProperty(o)){if(o==e)for(var l in a)a.hasOwnProperty(l)&&(i[l]=a[l]);a.hasOwnProperty(o)||(i[o]=t[o])}var s=r[n];return r[n]=i,_.languages.DFS(_.languages,function(e,a){a===s&&e!=n&&(this[e]=i)}),i},DFS:function e(a,n,r,t){t=t||{};var i=_.util.objId;for(var o in a)if(a.hasOwnProperty(o)){n.call(a,o,a[o],r||o);var l=a[o],s=_.util.type(l);\"Object\"!==s||t[i(l)]?\"Array\"!==s||t[i(l)]||(t[i(l)]=!0,e(l,n,o,t)):(t[i(l)]=!0,e(l,n,null,t))}}},plugins:{},highlightAll:function(e,a){_.highlightAllUnder(document,e,a)},highlightAllUnder:function(e,a,n){var r={callback:n,selector:'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'};_.hooks.run(\"before-highlightall\",r);for(var t,i=e.querySelectorAll(r.selector),o=0;t=i[o++];)_.highlightElement(t,!0===a,r.callback)},highlightElement:function(e,a,n){var r=function(e){for(;e&&!c.test(e.className);)e=e.parentNode;return e?(e.className.match(c)||[,\"none\"])[1].toLowerCase():\"none\"}(e),t=_.languages[r];e.className=e.className.replace(c,\"\").replace(/\\s+/g,\" \")+\" language-\"+r;var i=e.parentNode;i&&\"pre\"===i.nodeName.toLowerCase()&&(i.className=i.className.replace(c,\"\").replace(/\\s+/g,\" \")+\" language-\"+r);var o={element:e,language:r,grammar:t,code:e.textContent};function l(e){o.highlightedCode=e,_.hooks.run(\"before-insert\",o),o.element.innerHTML=o.highlightedCode,_.hooks.run(\"after-highlight\",o),_.hooks.run(\"complete\",o),n&&n.call(o.element)}if(_.hooks.run(\"before-sanity-check\",o),!o.code)return _.hooks.run(\"complete\",o),void(n&&n.call(o.element));if(_.hooks.run(\"before-highlight\",o),o.grammar)if(a&&u.Worker){var s=new Worker(_.filename);s.onmessage=function(e){l(e.data)},s.postMessage(JSON.stringify({language:o.language,code:o.code,immediateClose:!0}))}else l(_.highlight(o.code,o.grammar,o.language));else l(_.util.encode(o.code))},highlight:function(e,a,n){var r={code:e,grammar:a,language:n};return _.hooks.run(\"before-tokenize\",r),r.tokens=_.tokenize(r.code,r.grammar),_.hooks.run(\"after-tokenize\",r),L.stringify(_.util.encode(r.tokens),r.language)},matchGrammar:function(e,a,n,r,t,i,o){for(var l in n)if(n.hasOwnProperty(l)&&n[l]){var s=n[l];s=Array.isArray(s)?s:[s];for(var u=0;u<s.length;++u){if(o&&o==l+\",\"+u)return;var c=s[u],g=c.inside,f=!!c.lookbehind,h=!!c.greedy,d=0,m=c.alias;if(h&&!c.pattern.global){var p=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,p+\"g\")}c=c.pattern||c;for(var y=r,v=t;y<a.length;v+=a[y].length,++y){var k=a[y];if(a.length>e.length)return;if(!(k instanceof L)){if(h&&y!=a.length-1){if(c.lastIndex=v,!(x=c.exec(e)))break;for(var b=x.index+(f&&x[1]?x[1].length:0),w=x.index+x[0].length,A=y,P=v,O=a.length;A<O&&(P<w||!a[A].type&&!a[A-1].greedy);++A)(P+=a[A].length)<=b&&(++y,v=P);if(a[y]instanceof L)continue;j=A-y,k=e.slice(v,P),x.index-=v}else{c.lastIndex=0;var x=c.exec(k),j=1}if(x){f&&(d=x[1]?x[1].length:0);w=(b=x.index+d)+(x=x[0].slice(d)).length;var N=k.slice(0,b),S=k.slice(w),C=[y,j];N&&(++y,v+=N.length,C.push(N));var E=new L(l,g?_.tokenize(x,g):x,m,x,h);if(C.push(E),S&&C.push(S),Array.prototype.splice.apply(a,C),1!=j&&_.matchGrammar(e,a,n,y,v,!0,l+\",\"+u),i)break}else if(i)break}}}}},tokenize:function(e,a){var n=[e],r=a.rest;if(r){for(var t in r)a[t]=r[t];delete a.rest}return _.matchGrammar(e,n,a,0,0,!1),n},hooks:{all:{},add:function(e,a){var n=_.hooks.all;n[e]=n[e]||[],n[e].push(a)},run:function(e,a){var n=_.hooks.all[e];if(n&&n.length)for(var r,t=0;r=n[t++];)r(a)}},Token:L};function L(e,a,n,r,t){this.type=e,this.content=a,this.alias=n,this.length=0|(r||\"\").length,this.greedy=!!t}if(u.Prism=_,L.stringify=function(e,a){if(\"string\"==typeof e)return e;if(Array.isArray(e))return e.map(function(e){return L.stringify(e,a)}).join(\"\");var n={type:e.type,content:L.stringify(e.content,a),tag:\"span\",classes:[\"token\",e.type],attributes:{},language:a};if(e.alias){var r=Array.isArray(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(n.classes,r)}_.hooks.run(\"wrap\",n);var t=Object.keys(n.attributes).map(function(e){return e+'=\"'+(n.attributes[e]||\"\").replace(/\"/g,\"&quot;\")+'\"'}).join(\" \");return\"<\"+n.tag+' class=\"'+n.classes.join(\" \")+'\"'+(t?\" \"+t:\"\")+\">\"+n.content+\"</\"+n.tag+\">\"},!u.document)return u.addEventListener&&(_.disableWorkerMessageHandler||u.addEventListener(\"message\",function(e){var a=JSON.parse(e.data),n=a.language,r=a.code,t=a.immediateClose;u.postMessage(_.highlight(r,_.languages[n],n)),t&&u.close()},!1)),_;var e=document.currentScript||[].slice.call(document.getElementsByTagName(\"script\")).pop();if(e&&(_.filename=e.src,e.hasAttribute(\"data-manual\")&&(_.manual=!0)),!_.manual){function n(){_.manual||_.highlightAll()}\"loading\"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n):window.setTimeout(n,16):document.addEventListener(\"DOMContentLoaded\",n)}return _}(_self);\"undefined\"!=typeof module&&module.exports&&(module.exports=Prism),\"undefined\"!=typeof global&&(global.Prism=Prism);\nPrism.languages.markup={comment:/<!--[\\s\\S]*?-->/,prolog:/<\\?[\\s\\S]+?\\?>/,doctype:/<!DOCTYPE[\\s\\S]+?>/i,cdata:/<!\\[CDATA\\[[\\s\\S]*?]]>/i,tag:{pattern:/<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\\/?[^\\s>\\/]+/i,inside:{punctuation:/^<\\/?/,namespace:/^[^\\s>\\/:]+:/}},\"attr-value\":{pattern:/=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\\s*)[\"']|[\"']$/,lookbehind:!0}]}},punctuation:/\\/?>/,\"attr-name\":{pattern:/[^\\s>\\/]+/,inside:{namespace:/^[^\\s>\\/:]+:/}}}},entity:/&#?[\\da-z]{1,8};/i},Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add(\"wrap\",function(a){\"entity\"===a.type&&(a.attributes.title=a.content.replace(/&amp;/,\"&\"))}),Object.defineProperty(Prism.languages.markup.tag,\"addInlined\",{value:function(a,e){var s={};s[\"language-\"+e]={pattern:/(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^<!\\[CDATA\\[|\\]\\]>$/i;var n={\"included-cdata\":{pattern:/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,inside:s}};n[\"language-\"+e]={pattern:/[\\s\\S]+/,inside:Prism.languages[e]};var i={};i[a]={pattern:RegExp(\"(<__[\\\\s\\\\S]*?>)(?:<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\\\\s*|[\\\\s\\\\S])*?(?=<\\\\/__>)\".replace(/__/g,a),\"i\"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore(\"markup\",\"cdata\",i)}}),Prism.languages.xml=Prism.languages.extend(\"markup\",{}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup;\n!function(s){var t=/(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/;s.languages.css={comment:/\\/\\*[\\s\\S]*?\\*\\//,atrule:{pattern:/@[\\w-]+[\\s\\S]*?(?:;|(?=\\s*\\{))/,inside:{rule:/@[\\w-]+/}},url:{pattern:RegExp(\"url\\\\((?:\"+t.source+\"|[^\\n\\r()]*)\\\\)\",\"i\"),inside:{function:/^url/i,punctuation:/^\\(|\\)$/}},selector:RegExp(\"[^{}\\\\s](?:[^{};\\\"']|\"+t.source+\")*?(?=\\\\s*\\\\{)\"),string:{pattern:t,greedy:!0},property:/[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,important:/!important\\b/i,function:/[-a-z0-9]+(?=\\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var e=s.languages.markup;e&&(e.tag.addInlined(\"style\",\"css\"),s.languages.insertBefore(\"inside\",\"attr-value\",{\"style-attr\":{pattern:/\\s*style=(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/i,inside:{\"attr-name\":{pattern:/^\\s*style/i,inside:e.tag.inside},punctuation:/^\\s*=\\s*['\"]|['\"]\\s*$/,\"attr-value\":{pattern:/.+/i,inside:s.languages.css}},alias:\"language-css\"}},e.tag))}(Prism);\nPrism.languages.clike={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},\"class-name\":{pattern:/((?:\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+)|(?:catch\\s+\\())[\\w.\\\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\\\]/}},keyword:/\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,boolean:/\\b(?:true|false)\\b/,function:/\\w+(?=\\()/,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,operator:/--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&?|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.javascript=Prism.languages.extend(\"clike\",{\"class-name\":[Prism.languages.clike[\"class-name\"],{pattern:/(^|[^$\\w\\xA0-\\uFFFF])[_$A-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\\s*)(?:catch|finally)\\b/,lookbehind:!0},{pattern:/(^|[^.])\\b(?:as|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,lookbehind:!0}],number:/\\b(?:(?:0[xX](?:[\\dA-Fa-f](?:_[\\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\\d(?:_\\d)?)+n|NaN|Infinity)\\b|(?:\\b(?:\\d(?:_\\d)?)+\\.?(?:\\d(?:_\\d)?)*|\\B\\.(?:\\d(?:_\\d)?)+)(?:[Ee][+-]?(?:\\d(?:_\\d)?)+)?/,function:/#?[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,operator:/-[-=]?|\\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\\|[|=]?|\\*\\*?=?|\\/=?|~|\\^=?|%=?|\\?|\\.{3}/}),Prism.languages.javascript[\"class-name\"][0].pattern=/(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/,Prism.languages.insertBefore(\"javascript\",\"keyword\",{regex:{pattern:/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s])\\s*)\\/(\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[gimyus]{0,6}(?=\\s*($|[\\r\\n,.;})\\]]))/,lookbehind:!0,greedy:!0},\"function-variable\":{pattern:/#?[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/,alias:\"function\"},parameter:[{pattern:/(function(?:\\s+[_$A-Za-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)?\\s*\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\)\\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:[_$A-Za-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\s*)\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\)\\s*\\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/}),Prism.languages.insertBefore(\"javascript\",\"string\",{\"template-string\":{pattern:/`(?:\\\\[\\s\\S]|\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\\${)[^\\\\`])*`/,greedy:!0,inside:{\"template-punctuation\":{pattern:/^`|`$/,alias:\"string\"},interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{\"interpolation-punctuation\":{pattern:/^\\${|}$/,alias:\"punctuation\"},rest:Prism.languages.javascript}},string:/[\\s\\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined(\"script\",\"javascript\"),Prism.languages.js=Prism.languages.javascript;\nPrism.languages.basic={comment:{pattern:/(?:!|REM\\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^_ +\\-.A-Z\\d])*\"/i,greedy:!0},number:/(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,keyword:/\\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\\$|\\b)/i,function:/\\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\\$|\\b)/i,operator:/<[=>]?|>=?|[+\\-*\\/^=&]|\\b(?:AND|EQV|IMP|NOT|OR|XOR)\\b/i,punctuation:/[,;:()]/};\n!function(h){function v(e,n){return\"___\"+e.toUpperCase()+n+\"___\"}Object.defineProperties(h.languages[\"markup-templating\"]={},{buildPlaceholders:{value:function(a,r,e,o){if(a.language===r){var c=a.tokenStack=[];a.code=a.code.replace(e,function(e){if(\"function\"==typeof o&&!o(e))return e;for(var n,t=c.length;-1!==a.code.indexOf(n=v(r,t));)++t;return c[t]=e,n}),a.grammar=h.languages.markup}}},tokenizePlaceholders:{value:function(p,k){if(p.language===k&&p.tokenStack){p.grammar=h.languages[k];var m=0,d=Object.keys(p.tokenStack);!function e(n){for(var t=0;t<n.length&&!(m>=d.length);t++){var a=n[t];if(\"string\"==typeof a||a.content&&\"string\"==typeof a.content){var r=d[m],o=p.tokenStack[r],c=\"string\"==typeof a?a:a.content,i=v(k,r),u=c.indexOf(i);if(-1<u){++m;var g=c.substring(0,u),l=new h.Token(k,h.tokenize(o,p.grammar),\"language-\"+k,o),s=c.substring(u+i.length),f=[];g&&f.push.apply(f,e([g])),f.push(l),s&&f.push.apply(f,e([s])),\"string\"==typeof a?n.splice.apply(n,[t,1].concat(f)):a.content=f}}else a.content&&e(a.content)}return n}(p.tokens)}}}})}(Prism);\nPrism.languages.go=Prism.languages.extend(\"clike\",{keyword:/\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,builtin:/\\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\\b/,boolean:/\\b(?:_|iota|nil|true|false)\\b/,operator:/[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,number:/(?:\\b0x[a-f\\d]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[-+]?\\d+)?)i?/i,string:{pattern:/([\"'`])(\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,greedy:!0}}),delete Prism.languages.go[\"class-name\"];\n!function(e){var t=/\\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while|var|null|exports|module|open|opens|provides|requires|to|transitive|uses|with)\\b/,a=/\\b[A-Z](?:\\w*[a-z]\\w*)?\\b/;e.languages.java=e.languages.extend(\"clike\",{\"class-name\":[a,/\\b[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])/],keyword:t,function:[e.languages.clike.function,{pattern:/(\\:\\:)[a-z_]\\w*/,lookbehind:!0}],number:/\\b0b[01][01_]*L?\\b|\\b0x[\\da-f_]*\\.?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*\\.?[\\d_]*|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])\\2|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore(\"java\",\"class-name\",{annotation:{alias:\"punctuation\",pattern:/(^|[^.])@\\w+/,lookbehind:!0},namespace:{pattern:/(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)[a-z]\\w*(\\.[a-z]\\w*)+/,lookbehind:!0,inside:{punctuation:/\\./}},generics:{pattern:/<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,inside:{\"class-name\":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})}(Prism);\n!function(n){n.languages.php=n.languages.extend(\"clike\",{keyword:/\\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\\b/i,boolean:{pattern:/\\b(?:false|true)\\b/i,alias:\"constant\"},constant:[/\\b[A-Z_][A-Z0-9_]*\\b/,/\\b(?:null)\\b/i],comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,lookbehind:!0}}),n.languages.insertBefore(\"php\",\"string\",{\"shell-comment\":{pattern:/(^|[^\\\\])#.*/,lookbehind:!0,alias:\"comment\"}}),n.languages.insertBefore(\"php\",\"comment\",{delimiter:{pattern:/\\?>$|^<\\?(?:php(?=\\s)|=)?/i,alias:\"important\"}}),n.languages.insertBefore(\"php\",\"keyword\",{variable:/\\$+(?:\\w+\\b|(?={))/i,package:{pattern:/(\\\\|namespace\\s+|use\\s+)[\\w\\\\]+/,lookbehind:!0,inside:{punctuation:/\\\\/}}}),n.languages.insertBefore(\"php\",\"operator\",{property:{pattern:/(->)[\\w]+/,lookbehind:!0}});var e={pattern:/{\\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[.+?]|->\\w+)*)/,lookbehind:!0,inside:{rest:n.languages.php}};n.languages.insertBefore(\"php\",\"string\",{\"nowdoc-string\":{pattern:/<<<'([^']+)'(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\1;/,greedy:!0,alias:\"string\",inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\\w*;$/i,alias:\"symbol\",inside:{punctuation:/^<<<'?|[';]$/}}}},\"heredoc-string\":{pattern:/<<<(?:\"([^\"]+)\"(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\1;|([a-z_]\\w*)(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\2;)/i,greedy:!0,alias:\"string\",inside:{delimiter:{pattern:/^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,alias:\"symbol\",inside:{punctuation:/^<<<\"?|[\";]$/}},interpolation:e}},\"single-quoted-string\":{pattern:/'(?:\\\\[\\s\\S]|[^\\\\'])*'/,greedy:!0,alias:\"string\"},\"double-quoted-string\":{pattern:/\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,greedy:!0,alias:\"string\",inside:{interpolation:e}}}),delete n.languages.php.string,n.hooks.add(\"before-tokenize\",function(e){if(/<\\?/.test(e.code)){n.languages[\"markup-templating\"].buildPlaceholders(e,\"php\",/<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#)(?:[^?\\n\\r]|\\?(?!>))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$))*?(?:\\?>|$)/gi)}}),n.hooks.add(\"after-tokenize\",function(e){n.languages[\"markup-templating\"].tokenizePlaceholders(e,\"php\")})}(Prism);\nPrism.languages.json={property:{pattern:/\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,greedy:!0},string:{pattern:/\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,greedy:!0},comment:/\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,number:/-?\\d+\\.?\\d*(e[+-]?\\d+)?/i,punctuation:/[{}[\\],]/,operator:/:/,boolean:/\\b(?:true|false)\\b/,null:{pattern:/\\bnull\\b/,alias:\"keyword\"}};\nPrism.languages.typescript=Prism.languages.extend(\"javascript\",{keyword:/\\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\\b/,builtin:/\\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\\b/}),Prism.languages.ts=Prism.languages.typescript;\nPrism.languages.sql={comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,lookbehind:!0},variable:[{pattern:/@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,greedy:!0},/@[\\w.$]+/],string:{pattern:/(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,greedy:!0,lookbehind:!0},function:/\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,keyword:/\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,boolean:/\\b(?:TRUE|FALSE|NULL)\\b/i,number:/\\b0x[\\da-f]+\\b|\\b\\d+\\.?\\d*|\\B\\.\\d+\\b/i,operator:/[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,punctuation:/[;[\\]()`,.]/};\nPrism.languages.python={comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0},\"string-interpolation\":{pattern:/(?:f|rf|fr)(?:(\"\"\"|''')[\\s\\S]+?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{\"format-spec\":{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},\"conversion-option\":{pattern:/![sra](?=[:}]$)/,alias:\"punctuation\"},rest:null}},string:/[\\s\\S]+/}},\"triple-quoted-string\":{pattern:/(?:[rub]|rb|br)?(\"\"\"|''')[\\s\\S]+?\\1/i,greedy:!0,alias:\"string\"},string:{pattern:/(?:[rub]|rb|br)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,greedy:!0},function:{pattern:/((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,lookbehind:!0},\"class-name\":{pattern:/(\\bclass\\s+)\\w+/i,lookbehind:!0},decorator:{pattern:/(^\\s*)@\\w+(?:\\.\\w+)*/im,lookbehind:!0,alias:[\"annotation\",\"punctuation\"],inside:{punctuation:/\\./}},keyword:/\\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,builtin:/\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,boolean:/\\b(?:True|False|None)\\b/,number:/(?:\\b(?=\\d)|\\B(?=\\.))(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?j?\\b/i,operator:/[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\\];(),.:]/},Prism.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;\n"
  },
  {
    "path": "src/wemark/prism.wxss",
    "content": "/* PrismJS 1.15.0\nhttps://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+basic+markup-templating+go+java+json+php+sql+python+typescript */\n/**\n * prism.js default theme for JavaScript, CSS and HTML\n * Based on dabblet (http://dabblet.com)\n * @author Lea Verou\n */\n\n .wemark_inline_code_comment,\n .wemark_inline_code_prolog,\n .wemark_inline_code_doctype,\n .wemark_inline_code_cdata {\n\t color: slategray;\n }\n\n .wemark_inline_code_punctuation,\n .wemark_inline_code_interpolation-punctuation {\n\t color: #999;\n }\n\n .wemark_inline_code_namespace {\n\t opacity: .7;\n   color: #e0e0e0;\n }\n\n .wemark_inline_code_property,\n .wemark_inline_code_tag,\n .wemark_inline_code_boolean,\n .wemark_inline_code_number,\n .wemark_inline_code_constant,\n .wemark_inline_code_symbol,\n .wemark_inline_code_deleted {\n\t color: #905;\n }\n\n .wemark_inline_code_selector,\n .wemark_inline_code_attr-name,\n .wemark_inline_code_string,\n .wemark_inline_code_char,\n .wemark_inline_code_builtin,\n .wemark_inline_code_inserted {\n\t color: #690;\n }\n\n .wemark_inline_code_function-variable,\n .wemark_inline_code_operator,\n .wemark_inline_code_entity,\n .wemark_inline_code_url,\n .language-css .wemark_inline_code_string,\n .style .wemark_inline_code_string {\n\tcolor: #e0e0e0;\n }\n\n .wemark_inline_code_atrule,\n .wemark_inline_code_attr-value,\n .wemark_inline_code_keyword {\n\t color: #07a;\n }\n\n .wemark_inline_code_function,\n .wemark_inline_code_class-name {\n\t color: #DD4A68;\n }\n\n .wemark_inline_code_regex,\n .wemark_inline_code_important,\n .wemark_inline_code_variable,\n .wemark_inline_code_interpolation {\n\t color: #e90;\n }\n\n .wemark_inline_code_important,\n .wemark_inline_code_bold {\n\t font-weight: bold;\n }\n .wemark_inline_code_italic {\n\t font-style: italic;\n }\n\n .wemark_inline_code_entity {\n\t cursor: help;\n }\n"
  },
  {
    "path": "src/wemark/remarkable.js",
    "content": "/*! remarkable 1.6.0 https://github.com/jonschlinkert/remarkable @license MIT */\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{var t;t=\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this,t.Remarkable=e()}}(function(){var e;return function t(e,r,n){function s(i,l){if(!r[i]){if(!e[i]){var a=\"function\"==typeof require&&require;if(!l&&a)return a(i,!0);if(o)return o(i,!0);var c=new Error(\"Cannot find module '\"+i+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=r[i]={exports:{}};e[i][0].call(u.exports,function(t){var r=e[i][1][t];return s(r?r:t)},u,u.exports,t,e,r,n)}return r[i].exports}for(var o=\"function\"==typeof require&&require,i=0;i<n.length;i++)s(n[i]);return s}({1:[function(e,t,r){\"use strict\";t.exports={Aacute:\"Á\",aacute:\"á\",Abreve:\"Ă\",abreve:\"ă\",ac:\"∾\",acd:\"∿\",acE:\"∾̳\",Acirc:\"Â\",acirc:\"â\",acute:\"´\",Acy:\"А\",acy:\"а\",AElig:\"Æ\",aelig:\"æ\",af:\"⁡\",Afr:\"𝔄\",afr:\"𝔞\",Agrave:\"À\",agrave:\"à\",alefsym:\"ℵ\",aleph:\"ℵ\",Alpha:\"Α\",alpha:\"α\",Amacr:\"Ā\",amacr:\"ā\",amalg:\"⨿\",AMP:\"&\",amp:\"&\",And:\"⩓\",and:\"∧\",andand:\"⩕\",andd:\"⩜\",andslope:\"⩘\",andv:\"⩚\",ang:\"∠\",ange:\"⦤\",angle:\"∠\",angmsd:\"∡\",angmsdaa:\"⦨\",angmsdab:\"⦩\",angmsdac:\"⦪\",angmsdad:\"⦫\",angmsdae:\"⦬\",angmsdaf:\"⦭\",angmsdag:\"⦮\",angmsdah:\"⦯\",angrt:\"∟\",angrtvb:\"⊾\",angrtvbd:\"⦝\",angsph:\"∢\",angst:\"Å\",angzarr:\"⍼\",Aogon:\"Ą\",aogon:\"ą\",Aopf:\"𝔸\",aopf:\"𝕒\",ap:\"≈\",apacir:\"⩯\",apE:\"⩰\",ape:\"≊\",apid:\"≋\",apos:\"'\",ApplyFunction:\"⁡\",approx:\"≈\",approxeq:\"≊\",Aring:\"Å\",aring:\"å\",Ascr:\"𝒜\",ascr:\"𝒶\",Assign:\"≔\",ast:\"*\",asymp:\"≈\",asympeq:\"≍\",Atilde:\"Ã\",atilde:\"ã\",Auml:\"Ä\",auml:\"ä\",awconint:\"∳\",awint:\"⨑\",backcong:\"≌\",backepsilon:\"϶\",backprime:\"‵\",backsim:\"∽\",backsimeq:\"⋍\",Backslash:\"∖\",Barv:\"⫧\",barvee:\"⊽\",Barwed:\"⌆\",barwed:\"⌅\",barwedge:\"⌅\",bbrk:\"⎵\",bbrktbrk:\"⎶\",bcong:\"≌\",Bcy:\"Б\",bcy:\"б\",bdquo:\"„\",becaus:\"∵\",Because:\"∵\",because:\"∵\",bemptyv:\"⦰\",bepsi:\"϶\",bernou:\"ℬ\",Bernoullis:\"ℬ\",Beta:\"Β\",beta:\"β\",beth:\"ℶ\",between:\"≬\",Bfr:\"𝔅\",bfr:\"𝔟\",bigcap:\"⋂\",bigcirc:\"◯\",bigcup:\"⋃\",bigodot:\"⨀\",bigoplus:\"⨁\",bigotimes:\"⨂\",bigsqcup:\"⨆\",bigstar:\"★\",bigtriangledown:\"▽\",bigtriangleup:\"△\",biguplus:\"⨄\",bigvee:\"⋁\",bigwedge:\"⋀\",bkarow:\"⤍\",blacklozenge:\"⧫\",blacksquare:\"▪\",blacktriangle:\"▴\",blacktriangledown:\"▾\",blacktriangleleft:\"◂\",blacktriangleright:\"▸\",blank:\"␣\",blk12:\"▒\",blk14:\"░\",blk34:\"▓\",block:\"█\",bne:\"=⃥\",bnequiv:\"≡⃥\",bNot:\"⫭\",bnot:\"⌐\",Bopf:\"𝔹\",bopf:\"𝕓\",bot:\"⊥\",bottom:\"⊥\",bowtie:\"⋈\",boxbox:\"⧉\",boxDL:\"╗\",boxDl:\"╖\",boxdL:\"╕\",boxdl:\"┐\",boxDR:\"╔\",boxDr:\"╓\",boxdR:\"╒\",boxdr:\"┌\",boxH:\"═\",boxh:\"─\",boxHD:\"╦\",boxHd:\"╤\",boxhD:\"╥\",boxhd:\"┬\",boxHU:\"╩\",boxHu:\"╧\",boxhU:\"╨\",boxhu:\"┴\",boxminus:\"⊟\",boxplus:\"⊞\",boxtimes:\"⊠\",boxUL:\"╝\",boxUl:\"╜\",boxuL:\"╛\",boxul:\"┘\",boxUR:\"╚\",boxUr:\"╙\",boxuR:\"╘\",boxur:\"└\",boxV:\"║\",boxv:\"│\",boxVH:\"╬\",boxVh:\"╫\",boxvH:\"╪\",boxvh:\"┼\",boxVL:\"╣\",boxVl:\"╢\",boxvL:\"╡\",boxvl:\"┤\",boxVR:\"╠\",boxVr:\"╟\",boxvR:\"╞\",boxvr:\"├\",bprime:\"‵\",Breve:\"˘\",breve:\"˘\",brvbar:\"¦\",Bscr:\"ℬ\",bscr:\"𝒷\",bsemi:\"⁏\",bsim:\"∽\",bsime:\"⋍\",bsol:\"\\\\\",bsolb:\"⧅\",bsolhsub:\"⟈\",bull:\"•\",bullet:\"•\",bump:\"≎\",bumpE:\"⪮\",bumpe:\"≏\",Bumpeq:\"≎\",bumpeq:\"≏\",Cacute:\"Ć\",cacute:\"ć\",Cap:\"⋒\",cap:\"∩\",capand:\"⩄\",capbrcup:\"⩉\",capcap:\"⩋\",capcup:\"⩇\",capdot:\"⩀\",CapitalDifferentialD:\"ⅅ\",caps:\"∩︀\",caret:\"⁁\",caron:\"ˇ\",Cayleys:\"ℭ\",ccaps:\"⩍\",Ccaron:\"Č\",ccaron:\"č\",Ccedil:\"Ç\",ccedil:\"ç\",Ccirc:\"Ĉ\",ccirc:\"ĉ\",Cconint:\"∰\",ccups:\"⩌\",ccupssm:\"⩐\",Cdot:\"Ċ\",cdot:\"ċ\",cedil:\"¸\",Cedilla:\"¸\",cemptyv:\"⦲\",cent:\"¢\",CenterDot:\"·\",centerdot:\"·\",Cfr:\"ℭ\",cfr:\"𝔠\",CHcy:\"Ч\",chcy:\"ч\",check:\"✓\",checkmark:\"✓\",Chi:\"Χ\",chi:\"χ\",cir:\"○\",circ:\"ˆ\",circeq:\"≗\",circlearrowleft:\"↺\",circlearrowright:\"↻\",circledast:\"⊛\",circledcirc:\"⊚\",circleddash:\"⊝\",CircleDot:\"⊙\",circledR:\"®\",circledS:\"Ⓢ\",CircleMinus:\"⊖\",CirclePlus:\"⊕\",CircleTimes:\"⊗\",cirE:\"⧃\",cire:\"≗\",cirfnint:\"⨐\",cirmid:\"⫯\",cirscir:\"⧂\",ClockwiseContourIntegral:\"∲\",CloseCurlyDoubleQuote:\"”\",CloseCurlyQuote:\"’\",clubs:\"♣\",clubsuit:\"♣\",Colon:\"∷\",colon:\":\",Colone:\"⩴\",colone:\"≔\",coloneq:\"≔\",comma:\",\",commat:\"@\",comp:\"∁\",compfn:\"∘\",complement:\"∁\",complexes:\"ℂ\",cong:\"≅\",congdot:\"⩭\",Congruent:\"≡\",Conint:\"∯\",conint:\"∮\",ContourIntegral:\"∮\",Copf:\"ℂ\",copf:\"𝕔\",coprod:\"∐\",Coproduct:\"∐\",COPY:\"©\",copy:\"©\",copysr:\"℗\",CounterClockwiseContourIntegral:\"∳\",crarr:\"↵\",Cross:\"⨯\",cross:\"✗\",Cscr:\"𝒞\",cscr:\"𝒸\",csub:\"⫏\",csube:\"⫑\",csup:\"⫐\",csupe:\"⫒\",ctdot:\"⋯\",cudarrl:\"⤸\",cudarrr:\"⤵\",cuepr:\"⋞\",cuesc:\"⋟\",cularr:\"↶\",cularrp:\"⤽\",Cup:\"⋓\",cup:\"∪\",cupbrcap:\"⩈\",CupCap:\"≍\",cupcap:\"⩆\",cupcup:\"⩊\",cupdot:\"⊍\",cupor:\"⩅\",cups:\"∪︀\",curarr:\"↷\",curarrm:\"⤼\",curlyeqprec:\"⋞\",curlyeqsucc:\"⋟\",curlyvee:\"⋎\",curlywedge:\"⋏\",curren:\"¤\",curvearrowleft:\"↶\",curvearrowright:\"↷\",cuvee:\"⋎\",cuwed:\"⋏\",cwconint:\"∲\",cwint:\"∱\",cylcty:\"⌭\",Dagger:\"‡\",dagger:\"†\",daleth:\"ℸ\",Darr:\"↡\",dArr:\"⇓\",darr:\"↓\",dash:\"‐\",Dashv:\"⫤\",dashv:\"⊣\",dbkarow:\"⤏\",dblac:\"˝\",Dcaron:\"Ď\",dcaron:\"ď\",Dcy:\"Д\",dcy:\"д\",DD:\"ⅅ\",dd:\"ⅆ\",ddagger:\"‡\",ddarr:\"⇊\",DDotrahd:\"⤑\",ddotseq:\"⩷\",deg:\"°\",Del:\"∇\",Delta:\"Δ\",delta:\"δ\",demptyv:\"⦱\",dfisht:\"⥿\",Dfr:\"𝔇\",dfr:\"𝔡\",dHar:\"⥥\",dharl:\"⇃\",dharr:\"⇂\",DiacriticalAcute:\"´\",DiacriticalDot:\"˙\",DiacriticalDoubleAcute:\"˝\",DiacriticalGrave:\"`\",DiacriticalTilde:\"˜\",diam:\"⋄\",Diamond:\"⋄\",diamond:\"⋄\",diamondsuit:\"♦\",diams:\"♦\",die:\"¨\",DifferentialD:\"ⅆ\",digamma:\"ϝ\",disin:\"⋲\",div:\"÷\",divide:\"÷\",divideontimes:\"⋇\",divonx:\"⋇\",DJcy:\"Ђ\",djcy:\"ђ\",dlcorn:\"⌞\",dlcrop:\"⌍\",dollar:\"$\",Dopf:\"𝔻\",dopf:\"𝕕\",Dot:\"¨\",dot:\"˙\",DotDot:\"⃜\",doteq:\"≐\",doteqdot:\"≑\",DotEqual:\"≐\",dotminus:\"∸\",dotplus:\"∔\",dotsquare:\"⊡\",doublebarwedge:\"⌆\",DoubleContourIntegral:\"∯\",DoubleDot:\"¨\",DoubleDownArrow:\"⇓\",DoubleLeftArrow:\"⇐\",DoubleLeftRightArrow:\"⇔\",DoubleLeftTee:\"⫤\",DoubleLongLeftArrow:\"⟸\",DoubleLongLeftRightArrow:\"⟺\",DoubleLongRightArrow:\"⟹\",DoubleRightArrow:\"⇒\",DoubleRightTee:\"⊨\",DoubleUpArrow:\"⇑\",DoubleUpDownArrow:\"⇕\",DoubleVerticalBar:\"∥\",DownArrow:\"↓\",Downarrow:\"⇓\",downarrow:\"↓\",DownArrowBar:\"⤓\",DownArrowUpArrow:\"⇵\",DownBreve:\"̑\",downdownarrows:\"⇊\",downharpoonleft:\"⇃\",downharpoonright:\"⇂\",DownLeftRightVector:\"⥐\",DownLeftTeeVector:\"⥞\",DownLeftVector:\"↽\",DownLeftVectorBar:\"⥖\",DownRightTeeVector:\"⥟\",DownRightVector:\"⇁\",DownRightVectorBar:\"⥗\",DownTee:\"⊤\",DownTeeArrow:\"↧\",drbkarow:\"⤐\",drcorn:\"⌟\",drcrop:\"⌌\",Dscr:\"𝒟\",dscr:\"𝒹\",DScy:\"Ѕ\",dscy:\"ѕ\",dsol:\"⧶\",Dstrok:\"Đ\",dstrok:\"đ\",dtdot:\"⋱\",dtri:\"▿\",dtrif:\"▾\",duarr:\"⇵\",duhar:\"⥯\",dwangle:\"⦦\",DZcy:\"Џ\",dzcy:\"џ\",dzigrarr:\"⟿\",Eacute:\"É\",eacute:\"é\",easter:\"⩮\",Ecaron:\"Ě\",ecaron:\"ě\",ecir:\"≖\",Ecirc:\"Ê\",ecirc:\"ê\",ecolon:\"≕\",Ecy:\"Э\",ecy:\"э\",eDDot:\"⩷\",Edot:\"Ė\",eDot:\"≑\",edot:\"ė\",ee:\"ⅇ\",efDot:\"≒\",Efr:\"𝔈\",efr:\"𝔢\",eg:\"⪚\",Egrave:\"È\",egrave:\"è\",egs:\"⪖\",egsdot:\"⪘\",el:\"⪙\",Element:\"∈\",elinters:\"⏧\",ell:\"ℓ\",els:\"⪕\",elsdot:\"⪗\",Emacr:\"Ē\",emacr:\"ē\",empty:\"∅\",emptyset:\"∅\",EmptySmallSquare:\"◻\",emptyv:\"∅\",EmptyVerySmallSquare:\"▫\",emsp:\" \",emsp13:\" \",emsp14:\" \",ENG:\"Ŋ\",eng:\"ŋ\",ensp:\" \",Eogon:\"Ę\",eogon:\"ę\",Eopf:\"𝔼\",eopf:\"𝕖\",epar:\"⋕\",eparsl:\"⧣\",eplus:\"⩱\",epsi:\"ε\",Epsilon:\"Ε\",epsilon:\"ε\",epsiv:\"ϵ\",eqcirc:\"≖\",eqcolon:\"≕\",eqsim:\"≂\",eqslantgtr:\"⪖\",eqslantless:\"⪕\",Equal:\"⩵\",equals:\"=\",EqualTilde:\"≂\",equest:\"≟\",Equilibrium:\"⇌\",equiv:\"≡\",equivDD:\"⩸\",eqvparsl:\"⧥\",erarr:\"⥱\",erDot:\"≓\",Escr:\"ℰ\",escr:\"ℯ\",esdot:\"≐\",Esim:\"⩳\",esim:\"≂\",Eta:\"Η\",eta:\"η\",ETH:\"Ð\",eth:\"ð\",Euml:\"Ë\",euml:\"ë\",euro:\"€\",excl:\"!\",exist:\"∃\",Exists:\"∃\",expectation:\"ℰ\",ExponentialE:\"ⅇ\",exponentiale:\"ⅇ\",fallingdotseq:\"≒\",Fcy:\"Ф\",fcy:\"ф\",female:\"♀\",ffilig:\"ﬃ\",fflig:\"ﬀ\",ffllig:\"ﬄ\",Ffr:\"𝔉\",ffr:\"𝔣\",filig:\"ﬁ\",FilledSmallSquare:\"◼\",FilledVerySmallSquare:\"▪\",fjlig:\"fj\",flat:\"♭\",fllig:\"ﬂ\",fltns:\"▱\",fnof:\"ƒ\",Fopf:\"𝔽\",fopf:\"𝕗\",ForAll:\"∀\",forall:\"∀\",fork:\"⋔\",forkv:\"⫙\",Fouriertrf:\"ℱ\",fpartint:\"⨍\",frac12:\"½\",frac13:\"⅓\",frac14:\"¼\",frac15:\"⅕\",frac16:\"⅙\",frac18:\"⅛\",frac23:\"⅔\",frac25:\"⅖\",frac34:\"¾\",frac35:\"⅗\",frac38:\"⅜\",frac45:\"⅘\",frac56:\"⅚\",frac58:\"⅝\",frac78:\"⅞\",frasl:\"⁄\",frown:\"⌢\",Fscr:\"ℱ\",fscr:\"𝒻\",gacute:\"ǵ\",Gamma:\"Γ\",gamma:\"γ\",Gammad:\"Ϝ\",gammad:\"ϝ\",gap:\"⪆\",Gbreve:\"Ğ\",gbreve:\"ğ\",Gcedil:\"Ģ\",Gcirc:\"Ĝ\",gcirc:\"ĝ\",Gcy:\"Г\",gcy:\"г\",Gdot:\"Ġ\",gdot:\"ġ\",gE:\"≧\",ge:\"≥\",gEl:\"⪌\",gel:\"⋛\",geq:\"≥\",geqq:\"≧\",geqslant:\"⩾\",ges:\"⩾\",gescc:\"⪩\",gesdot:\"⪀\",gesdoto:\"⪂\",gesdotol:\"⪄\",gesl:\"⋛︀\",gesles:\"⪔\",Gfr:\"𝔊\",gfr:\"𝔤\",Gg:\"⋙\",gg:\"≫\",ggg:\"⋙\",gimel:\"ℷ\",GJcy:\"Ѓ\",gjcy:\"ѓ\",gl:\"≷\",gla:\"⪥\",glE:\"⪒\",glj:\"⪤\",gnap:\"⪊\",gnapprox:\"⪊\",gnE:\"≩\",gne:\"⪈\",gneq:\"⪈\",gneqq:\"≩\",gnsim:\"⋧\",Gopf:\"𝔾\",gopf:\"𝕘\",grave:\"`\",GreaterEqual:\"≥\",GreaterEqualLess:\"⋛\",GreaterFullEqual:\"≧\",GreaterGreater:\"⪢\",GreaterLess:\"≷\",GreaterSlantEqual:\"⩾\",GreaterTilde:\"≳\",Gscr:\"𝒢\",gscr:\"ℊ\",gsim:\"≳\",gsime:\"⪎\",gsiml:\"⪐\",GT:\">\",Gt:\"≫\",gt:\">\",gtcc:\"⪧\",gtcir:\"⩺\",gtdot:\"⋗\",gtlPar:\"⦕\",gtquest:\"⩼\",gtrapprox:\"⪆\",gtrarr:\"⥸\",gtrdot:\"⋗\",gtreqless:\"⋛\",gtreqqless:\"⪌\",gtrless:\"≷\",gtrsim:\"≳\",gvertneqq:\"≩︀\",gvnE:\"≩︀\",Hacek:\"ˇ\",hairsp:\" \",half:\"½\",hamilt:\"ℋ\",HARDcy:\"Ъ\",hardcy:\"ъ\",hArr:\"⇔\",harr:\"↔\",harrcir:\"⥈\",harrw:\"↭\",Hat:\"^\",hbar:\"ℏ\",Hcirc:\"Ĥ\",hcirc:\"ĥ\",hearts:\"♥\",heartsuit:\"♥\",hellip:\"…\",hercon:\"⊹\",Hfr:\"ℌ\",hfr:\"𝔥\",HilbertSpace:\"ℋ\",hksearow:\"⤥\",hkswarow:\"⤦\",hoarr:\"⇿\",homtht:\"∻\",hookleftarrow:\"↩\",hookrightarrow:\"↪\",Hopf:\"ℍ\",hopf:\"𝕙\",horbar:\"―\",HorizontalLine:\"─\",Hscr:\"ℋ\",hscr:\"𝒽\",hslash:\"ℏ\",Hstrok:\"Ħ\",hstrok:\"ħ\",HumpDownHump:\"≎\",HumpEqual:\"≏\",hybull:\"⁃\",hyphen:\"‐\",Iacute:\"Í\",iacute:\"í\",ic:\"⁣\",Icirc:\"Î\",icirc:\"î\",Icy:\"И\",icy:\"и\",Idot:\"İ\",IEcy:\"Е\",iecy:\"е\",iexcl:\"¡\",iff:\"⇔\",Ifr:\"ℑ\",ifr:\"𝔦\",Igrave:\"Ì\",igrave:\"ì\",ii:\"ⅈ\",iiiint:\"⨌\",iiint:\"∭\",iinfin:\"⧜\",iiota:\"℩\",IJlig:\"Ĳ\",ijlig:\"ĳ\",Im:\"ℑ\",Imacr:\"Ī\",imacr:\"ī\",image:\"ℑ\",ImaginaryI:\"ⅈ\",imagline:\"ℐ\",imagpart:\"ℑ\",imath:\"ı\",imof:\"⊷\",imped:\"Ƶ\",Implies:\"⇒\",\"in\":\"∈\",incare:\"℅\",infin:\"∞\",infintie:\"⧝\",inodot:\"ı\",Int:\"∬\",\"int\":\"∫\",intcal:\"⊺\",integers:\"ℤ\",Integral:\"∫\",intercal:\"⊺\",Intersection:\"⋂\",intlarhk:\"⨗\",intprod:\"⨼\",InvisibleComma:\"⁣\",InvisibleTimes:\"⁢\",IOcy:\"Ё\",iocy:\"ё\",Iogon:\"Į\",iogon:\"į\",Iopf:\"𝕀\",iopf:\"𝕚\",Iota:\"Ι\",iota:\"ι\",iprod:\"⨼\",iquest:\"¿\",Iscr:\"ℐ\",iscr:\"𝒾\",isin:\"∈\",isindot:\"⋵\",isinE:\"⋹\",isins:\"⋴\",isinsv:\"⋳\",isinv:\"∈\",it:\"⁢\",Itilde:\"Ĩ\",itilde:\"ĩ\",Iukcy:\"І\",iukcy:\"і\",Iuml:\"Ï\",iuml:\"ï\",Jcirc:\"Ĵ\",jcirc:\"ĵ\",Jcy:\"Й\",jcy:\"й\",Jfr:\"𝔍\",jfr:\"𝔧\",jmath:\"ȷ\",Jopf:\"𝕁\",jopf:\"𝕛\",Jscr:\"𝒥\",jscr:\"𝒿\",Jsercy:\"Ј\",jsercy:\"ј\",Jukcy:\"Є\",jukcy:\"є\",Kappa:\"Κ\",kappa:\"κ\",kappav:\"ϰ\",Kcedil:\"Ķ\",kcedil:\"ķ\",Kcy:\"К\",kcy:\"к\",Kfr:\"𝔎\",kfr:\"𝔨\",kgreen:\"ĸ\",KHcy:\"Х\",khcy:\"х\",KJcy:\"Ќ\",kjcy:\"ќ\",Kopf:\"𝕂\",kopf:\"𝕜\",Kscr:\"𝒦\",kscr:\"𝓀\",lAarr:\"⇚\",Lacute:\"Ĺ\",lacute:\"ĺ\",laemptyv:\"⦴\",lagran:\"ℒ\",Lambda:\"Λ\",lambda:\"λ\",Lang:\"⟪\",lang:\"⟨\",langd:\"⦑\",langle:\"⟨\",lap:\"⪅\",Laplacetrf:\"ℒ\",laquo:\"«\",Larr:\"↞\",lArr:\"⇐\",larr:\"←\",larrb:\"⇤\",larrbfs:\"⤟\",larrfs:\"⤝\",larrhk:\"↩\",larrlp:\"↫\",larrpl:\"⤹\",larrsim:\"⥳\",larrtl:\"↢\",lat:\"⪫\",lAtail:\"⤛\",latail:\"⤙\",late:\"⪭\",lates:\"⪭︀\",lBarr:\"⤎\",lbarr:\"⤌\",lbbrk:\"❲\",lbrace:\"{\",lbrack:\"[\",lbrke:\"⦋\",lbrksld:\"⦏\",lbrkslu:\"⦍\",Lcaron:\"Ľ\",lcaron:\"ľ\",Lcedil:\"Ļ\",lcedil:\"ļ\",lceil:\"⌈\",lcub:\"{\",Lcy:\"Л\",lcy:\"л\",ldca:\"⤶\",ldquo:\"“\",ldquor:\"„\",ldrdhar:\"⥧\",ldrushar:\"⥋\",ldsh:\"↲\",lE:\"≦\",le:\"≤\",LeftAngleBracket:\"⟨\",LeftArrow:\"←\",Leftarrow:\"⇐\",leftarrow:\"←\",LeftArrowBar:\"⇤\",LeftArrowRightArrow:\"⇆\",leftarrowtail:\"↢\",LeftCeiling:\"⌈\",LeftDoubleBracket:\"⟦\",LeftDownTeeVector:\"⥡\",LeftDownVector:\"⇃\",LeftDownVectorBar:\"⥙\",LeftFloor:\"⌊\",leftharpoondown:\"↽\",leftharpoonup:\"↼\",leftleftarrows:\"⇇\",LeftRightArrow:\"↔\",Leftrightarrow:\"⇔\",leftrightarrow:\"↔\",leftrightarrows:\"⇆\",leftrightharpoons:\"⇋\",leftrightsquigarrow:\"↭\",LeftRightVector:\"⥎\",LeftTee:\"⊣\",LeftTeeArrow:\"↤\",LeftTeeVector:\"⥚\",leftthreetimes:\"⋋\",LeftTriangle:\"⊲\",LeftTriangleBar:\"⧏\",LeftTriangleEqual:\"⊴\",LeftUpDownVector:\"⥑\",LeftUpTeeVector:\"⥠\",LeftUpVector:\"↿\",LeftUpVectorBar:\"⥘\",LeftVector:\"↼\",LeftVectorBar:\"⥒\",lEg:\"⪋\",leg:\"⋚\",leq:\"≤\",leqq:\"≦\",leqslant:\"⩽\",les:\"⩽\",lescc:\"⪨\",lesdot:\"⩿\",lesdoto:\"⪁\",lesdotor:\"⪃\",lesg:\"⋚︀\",lesges:\"⪓\",lessapprox:\"⪅\",lessdot:\"⋖\",lesseqgtr:\"⋚\",lesseqqgtr:\"⪋\",LessEqualGreater:\"⋚\",LessFullEqual:\"≦\",LessGreater:\"≶\",lessgtr:\"≶\",LessLess:\"⪡\",lesssim:\"≲\",LessSlantEqual:\"⩽\",LessTilde:\"≲\",lfisht:\"⥼\",lfloor:\"⌊\",Lfr:\"𝔏\",lfr:\"𝔩\",lg:\"≶\",lgE:\"⪑\",lHar:\"⥢\",lhard:\"↽\",lharu:\"↼\",lharul:\"⥪\",lhblk:\"▄\",LJcy:\"Љ\",ljcy:\"љ\",Ll:\"⋘\",ll:\"≪\",llarr:\"⇇\",llcorner:\"⌞\",Lleftarrow:\"⇚\",llhard:\"⥫\",lltri:\"◺\",Lmidot:\"Ŀ\",lmidot:\"ŀ\",lmoust:\"⎰\",lmoustache:\"⎰\",lnap:\"⪉\",lnapprox:\"⪉\",lnE:\"≨\",lne:\"⪇\",lneq:\"⪇\",lneqq:\"≨\",lnsim:\"⋦\",loang:\"⟬\",loarr:\"⇽\",lobrk:\"⟦\",LongLeftArrow:\"⟵\",Longleftarrow:\"⟸\",longleftarrow:\"⟵\",LongLeftRightArrow:\"⟷\",Longleftrightarrow:\"⟺\",longleftrightarrow:\"⟷\",longmapsto:\"⟼\",LongRightArrow:\"⟶\",Longrightarrow:\"⟹\",longrightarrow:\"⟶\",looparrowleft:\"↫\",looparrowright:\"↬\",lopar:\"⦅\",Lopf:\"𝕃\",lopf:\"𝕝\",loplus:\"⨭\",lotimes:\"⨴\",lowast:\"∗\",lowbar:\"_\",LowerLeftArrow:\"↙\",LowerRightArrow:\"↘\",loz:\"◊\",lozenge:\"◊\",lozf:\"⧫\",lpar:\"(\",lparlt:\"⦓\",lrarr:\"⇆\",lrcorner:\"⌟\",lrhar:\"⇋\",lrhard:\"⥭\",lrm:\"‎\",lrtri:\"⊿\",lsaquo:\"‹\",Lscr:\"ℒ\",lscr:\"𝓁\",Lsh:\"↰\",lsh:\"↰\",lsim:\"≲\",lsime:\"⪍\",lsimg:\"⪏\",lsqb:\"[\",lsquo:\"‘\",lsquor:\"‚\",Lstrok:\"Ł\",lstrok:\"ł\",LT:\"<\",Lt:\"≪\",lt:\"<\",ltcc:\"⪦\",ltcir:\"⩹\",ltdot:\"⋖\",lthree:\"⋋\",ltimes:\"⋉\",ltlarr:\"⥶\",ltquest:\"⩻\",ltri:\"◃\",ltrie:\"⊴\",ltrif:\"◂\",ltrPar:\"⦖\",lurdshar:\"⥊\",luruhar:\"⥦\",lvertneqq:\"≨︀\",lvnE:\"≨︀\",macr:\"¯\",male:\"♂\",malt:\"✠\",maltese:\"✠\",Map:\"⤅\",map:\"↦\",mapsto:\"↦\",mapstodown:\"↧\",mapstoleft:\"↤\",mapstoup:\"↥\",marker:\"▮\",mcomma:\"⨩\",Mcy:\"М\",mcy:\"м\",mdash:\"—\",mDDot:\"∺\",measuredangle:\"∡\",MediumSpace:\" \",Mellintrf:\"ℳ\",Mfr:\"𝔐\",mfr:\"𝔪\",mho:\"℧\",micro:\"µ\",mid:\"∣\",midast:\"*\",midcir:\"⫰\",middot:\"·\",minus:\"−\",minusb:\"⊟\",minusd:\"∸\",minusdu:\"⨪\",MinusPlus:\"∓\",mlcp:\"⫛\",mldr:\"…\",mnplus:\"∓\",models:\"⊧\",Mopf:\"𝕄\",mopf:\"𝕞\",mp:\"∓\",Mscr:\"ℳ\",mscr:\"𝓂\",mstpos:\"∾\",Mu:\"Μ\",mu:\"μ\",multimap:\"⊸\",mumap:\"⊸\",nabla:\"∇\",Nacute:\"Ń\",nacute:\"ń\",nang:\"∠⃒\",nap:\"≉\",napE:\"⩰̸\",napid:\"≋̸\",napos:\"ŉ\",napprox:\"≉\",natur:\"♮\",natural:\"♮\",naturals:\"ℕ\",nbsp:\" \",nbump:\"≎̸\",nbumpe:\"≏̸\",ncap:\"⩃\",Ncaron:\"Ň\",ncaron:\"ň\",Ncedil:\"Ņ\",ncedil:\"ņ\",ncong:\"≇\",ncongdot:\"⩭̸\",ncup:\"⩂\",Ncy:\"Н\",ncy:\"н\",ndash:\"–\",ne:\"≠\",nearhk:\"⤤\",neArr:\"⇗\",nearr:\"↗\",nearrow:\"↗\",nedot:\"≐̸\",NegativeMediumSpace:\"​\",NegativeThickSpace:\"​\",NegativeThinSpace:\"​\",NegativeVeryThinSpace:\"​\",nequiv:\"≢\",nesear:\"⤨\",nesim:\"≂̸\",NestedGreaterGreater:\"≫\",NestedLessLess:\"≪\",NewLine:\"\\n\",nexist:\"∄\",nexists:\"∄\",Nfr:\"𝔑\",nfr:\"𝔫\",ngE:\"≧̸\",nge:\"≱\",ngeq:\"≱\",ngeqq:\"≧̸\",ngeqslant:\"⩾̸\",nges:\"⩾̸\",nGg:\"⋙̸\",ngsim:\"≵\",nGt:\"≫⃒\",ngt:\"≯\",ngtr:\"≯\",nGtv:\"≫̸\",nhArr:\"⇎\",nharr:\"↮\",nhpar:\"⫲\",ni:\"∋\",nis:\"⋼\",nisd:\"⋺\",niv:\"∋\",NJcy:\"Њ\",njcy:\"њ\",nlArr:\"⇍\",nlarr:\"↚\",nldr:\"‥\",nlE:\"≦̸\",nle:\"≰\",nLeftarrow:\"⇍\",nleftarrow:\"↚\",nLeftrightarrow:\"⇎\",nleftrightarrow:\"↮\",nleq:\"≰\",nleqq:\"≦̸\",nleqslant:\"⩽̸\",nles:\"⩽̸\",nless:\"≮\",nLl:\"⋘̸\",nlsim:\"≴\",nLt:\"≪⃒\",nlt:\"≮\",nltri:\"⋪\",nltrie:\"⋬\",nLtv:\"≪̸\",nmid:\"∤\",NoBreak:\"⁠\",NonBreakingSpace:\" \",Nopf:\"ℕ\",nopf:\"𝕟\",Not:\"⫬\",not:\"¬\",NotCongruent:\"≢\",NotCupCap:\"≭\",NotDoubleVerticalBar:\"∦\",NotElement:\"∉\",NotEqual:\"≠\",NotEqualTilde:\"≂̸\",NotExists:\"∄\",NotGreater:\"≯\",NotGreaterEqual:\"≱\",NotGreaterFullEqual:\"≧̸\",NotGreaterGreater:\"≫̸\",NotGreaterLess:\"≹\",NotGreaterSlantEqual:\"⩾̸\",NotGreaterTilde:\"≵\",NotHumpDownHump:\"≎̸\",NotHumpEqual:\"≏̸\",notin:\"∉\",notindot:\"⋵̸\",notinE:\"⋹̸\",notinva:\"∉\",notinvb:\"⋷\",notinvc:\"⋶\",NotLeftTriangle:\"⋪\",NotLeftTriangleBar:\"⧏̸\",NotLeftTriangleEqual:\"⋬\",NotLess:\"≮\",NotLessEqual:\"≰\",NotLessGreater:\"≸\",NotLessLess:\"≪̸\",NotLessSlantEqual:\"⩽̸\",NotLessTilde:\"≴\",NotNestedGreaterGreater:\"⪢̸\",NotNestedLessLess:\"⪡̸\",notni:\"∌\",notniva:\"∌\",notnivb:\"⋾\",notnivc:\"⋽\",NotPrecedes:\"⊀\",NotPrecedesEqual:\"⪯̸\",NotPrecedesSlantEqual:\"⋠\",NotReverseElement:\"∌\",NotRightTriangle:\"⋫\",NotRightTriangleBar:\"⧐̸\",NotRightTriangleEqual:\"⋭\",NotSquareSubset:\"⊏̸\",NotSquareSubsetEqual:\"⋢\",NotSquareSuperset:\"⊐̸\",NotSquareSupersetEqual:\"⋣\",NotSubset:\"⊂⃒\",NotSubsetEqual:\"⊈\",NotSucceeds:\"⊁\",NotSucceedsEqual:\"⪰̸\",NotSucceedsSlantEqual:\"⋡\",NotSucceedsTilde:\"≿̸\",NotSuperset:\"⊃⃒\",NotSupersetEqual:\"⊉\",NotTilde:\"≁\",NotTildeEqual:\"≄\",NotTildeFullEqual:\"≇\",NotTildeTilde:\"≉\",NotVerticalBar:\"∤\",npar:\"∦\",nparallel:\"∦\",nparsl:\"⫽⃥\",npart:\"∂̸\",npolint:\"⨔\",npr:\"⊀\",nprcue:\"⋠\",npre:\"⪯̸\",nprec:\"⊀\",npreceq:\"⪯̸\",nrArr:\"⇏\",nrarr:\"↛\",nrarrc:\"⤳̸\",nrarrw:\"↝̸\",nRightarrow:\"⇏\",nrightarrow:\"↛\",nrtri:\"⋫\",nrtrie:\"⋭\",nsc:\"⊁\",nsccue:\"⋡\",nsce:\"⪰̸\",Nscr:\"𝒩\",nscr:\"𝓃\",nshortmid:\"∤\",nshortparallel:\"∦\",nsim:\"≁\",nsime:\"≄\",nsimeq:\"≄\",nsmid:\"∤\",nspar:\"∦\",nsqsube:\"⋢\",nsqsupe:\"⋣\",nsub:\"⊄\",nsubE:\"⫅̸\",nsube:\"⊈\",nsubset:\"⊂⃒\",nsubseteq:\"⊈\",nsubseteqq:\"⫅̸\",nsucc:\"⊁\",nsucceq:\"⪰̸\",nsup:\"⊅\",nsupE:\"⫆̸\",nsupe:\"⊉\",nsupset:\"⊃⃒\",nsupseteq:\"⊉\",nsupseteqq:\"⫆̸\",ntgl:\"≹\",Ntilde:\"Ñ\",ntilde:\"ñ\",ntlg:\"≸\",ntriangleleft:\"⋪\",ntrianglelefteq:\"⋬\",ntriangleright:\"⋫\",ntrianglerighteq:\"⋭\",Nu:\"Ν\",nu:\"ν\",num:\"#\",numero:\"№\",numsp:\" \",nvap:\"≍⃒\",nVDash:\"⊯\",nVdash:\"⊮\",nvDash:\"⊭\",nvdash:\"⊬\",nvge:\"≥⃒\",nvgt:\">⃒\",nvHarr:\"⤄\",nvinfin:\"⧞\",nvlArr:\"⤂\",nvle:\"≤⃒\",nvlt:\"<⃒\",nvltrie:\"⊴⃒\",nvrArr:\"⤃\",nvrtrie:\"⊵⃒\",nvsim:\"∼⃒\",nwarhk:\"⤣\",nwArr:\"⇖\",nwarr:\"↖\",nwarrow:\"↖\",nwnear:\"⤧\",Oacute:\"Ó\",oacute:\"ó\",oast:\"⊛\",ocir:\"⊚\",Ocirc:\"Ô\",ocirc:\"ô\",Ocy:\"О\",ocy:\"о\",odash:\"⊝\",Odblac:\"Ő\",odblac:\"ő\",odiv:\"⨸\",odot:\"⊙\",odsold:\"⦼\",OElig:\"Œ\",oelig:\"œ\",ofcir:\"⦿\",Ofr:\"𝔒\",ofr:\"𝔬\",ogon:\"˛\",Ograve:\"Ò\",ograve:\"ò\",ogt:\"⧁\",ohbar:\"⦵\",ohm:\"Ω\",oint:\"∮\",olarr:\"↺\",olcir:\"⦾\",olcross:\"⦻\",oline:\"‾\",olt:\"⧀\",Omacr:\"Ō\",omacr:\"ō\",Omega:\"Ω\",omega:\"ω\",Omicron:\"Ο\",omicron:\"ο\",omid:\"⦶\",ominus:\"⊖\",Oopf:\"𝕆\",oopf:\"𝕠\",opar:\"⦷\",OpenCurlyDoubleQuote:\"“\",OpenCurlyQuote:\"‘\",operp:\"⦹\",oplus:\"⊕\",Or:\"⩔\",or:\"∨\",orarr:\"↻\",ord:\"⩝\",order:\"ℴ\",orderof:\"ℴ\",ordf:\"ª\",ordm:\"º\",origof:\"⊶\",oror:\"⩖\",orslope:\"⩗\",orv:\"⩛\",oS:\"Ⓢ\",Oscr:\"𝒪\",oscr:\"ℴ\",Oslash:\"Ø\",oslash:\"ø\",osol:\"⊘\",Otilde:\"Õ\",otilde:\"õ\",Otimes:\"⨷\",otimes:\"⊗\",otimesas:\"⨶\",Ouml:\"Ö\",ouml:\"ö\",ovbar:\"⌽\",OverBar:\"‾\",OverBrace:\"⏞\",OverBracket:\"⎴\",OverParenthesis:\"⏜\",par:\"∥\",para:\"¶\",parallel:\"∥\",parsim:\"⫳\",parsl:\"⫽\",part:\"∂\",PartialD:\"∂\",Pcy:\"П\",pcy:\"п\",percnt:\"%\",period:\".\",permil:\"‰\",perp:\"⊥\",pertenk:\"‱\",Pfr:\"𝔓\",pfr:\"𝔭\",Phi:\"Φ\",phi:\"φ\",phiv:\"ϕ\",phmmat:\"ℳ\",phone:\"☎\",Pi:\"Π\",pi:\"π\",pitchfork:\"⋔\",piv:\"ϖ\",planck:\"ℏ\",planckh:\"ℎ\",plankv:\"ℏ\",plus:\"+\",plusacir:\"⨣\",plusb:\"⊞\",pluscir:\"⨢\",plusdo:\"∔\",plusdu:\"⨥\",pluse:\"⩲\",PlusMinus:\"±\",plusmn:\"±\",plussim:\"⨦\",plustwo:\"⨧\",pm:\"±\",Poincareplane:\"ℌ\",pointint:\"⨕\",Popf:\"ℙ\",popf:\"𝕡\",pound:\"£\",Pr:\"⪻\",pr:\"≺\",prap:\"⪷\",prcue:\"≼\",prE:\"⪳\",pre:\"⪯\",prec:\"≺\",precapprox:\"⪷\",preccurlyeq:\"≼\",Precedes:\"≺\",PrecedesEqual:\"⪯\",PrecedesSlantEqual:\"≼\",PrecedesTilde:\"≾\",preceq:\"⪯\",precnapprox:\"⪹\",precneqq:\"⪵\",precnsim:\"⋨\",precsim:\"≾\",Prime:\"″\",prime:\"′\",primes:\"ℙ\",prnap:\"⪹\",prnE:\"⪵\",prnsim:\"⋨\",prod:\"∏\",Product:\"∏\",profalar:\"⌮\",profline:\"⌒\",profsurf:\"⌓\",prop:\"∝\",Proportion:\"∷\",Proportional:\"∝\",propto:\"∝\",prsim:\"≾\",prurel:\"⊰\",Pscr:\"𝒫\",pscr:\"𝓅\",Psi:\"Ψ\",psi:\"ψ\",puncsp:\" \",Qfr:\"𝔔\",qfr:\"𝔮\",qint:\"⨌\",Qopf:\"ℚ\",qopf:\"𝕢\",qprime:\"⁗\",Qscr:\"𝒬\",qscr:\"𝓆\",quaternions:\"ℍ\",quatint:\"⨖\",quest:\"?\",questeq:\"≟\",QUOT:'\"',quot:'\"',rAarr:\"⇛\",race:\"∽̱\",Racute:\"Ŕ\",racute:\"ŕ\",radic:\"√\",raemptyv:\"⦳\",Rang:\"⟫\",rang:\"⟩\",rangd:\"⦒\",range:\"⦥\",rangle:\"⟩\",raquo:\"»\",Rarr:\"↠\",rArr:\"⇒\",rarr:\"→\",rarrap:\"⥵\",rarrb:\"⇥\",rarrbfs:\"⤠\",rarrc:\"⤳\",rarrfs:\"⤞\",rarrhk:\"↪\",rarrlp:\"↬\",rarrpl:\"⥅\",rarrsim:\"⥴\",Rarrtl:\"⤖\",rarrtl:\"↣\",rarrw:\"↝\",rAtail:\"⤜\",ratail:\"⤚\",ratio:\"∶\",rationals:\"ℚ\",RBarr:\"⤐\",rBarr:\"⤏\",rbarr:\"⤍\",rbbrk:\"❳\",rbrace:\"}\",rbrack:\"]\",rbrke:\"⦌\",rbrksld:\"⦎\",rbrkslu:\"⦐\",Rcaron:\"Ř\",rcaron:\"ř\",Rcedil:\"Ŗ\",rcedil:\"ŗ\",rceil:\"⌉\",rcub:\"}\",Rcy:\"Р\",rcy:\"р\",rdca:\"⤷\",rdldhar:\"⥩\",rdquo:\"”\",rdquor:\"”\",rdsh:\"↳\",Re:\"ℜ\",real:\"ℜ\",realine:\"ℛ\",realpart:\"ℜ\",reals:\"ℝ\",rect:\"▭\",REG:\"®\",reg:\"®\",ReverseElement:\"∋\",ReverseEquilibrium:\"⇋\",ReverseUpEquilibrium:\"⥯\",rfisht:\"⥽\",rfloor:\"⌋\",Rfr:\"ℜ\",rfr:\"𝔯\",rHar:\"⥤\",rhard:\"⇁\",rharu:\"⇀\",rharul:\"⥬\",Rho:\"Ρ\",rho:\"ρ\",rhov:\"ϱ\",RightAngleBracket:\"⟩\",RightArrow:\"→\",Rightarrow:\"⇒\",rightarrow:\"→\",RightArrowBar:\"⇥\",RightArrowLeftArrow:\"⇄\",rightarrowtail:\"↣\",RightCeiling:\"⌉\",RightDoubleBracket:\"⟧\",RightDownTeeVector:\"⥝\",RightDownVector:\"⇂\",RightDownVectorBar:\"⥕\",RightFloor:\"⌋\",rightharpoondown:\"⇁\",rightharpoonup:\"⇀\",rightleftarrows:\"⇄\",rightleftharpoons:\"⇌\",rightrightarrows:\"⇉\",rightsquigarrow:\"↝\",RightTee:\"⊢\",RightTeeArrow:\"↦\",RightTeeVector:\"⥛\",rightthreetimes:\"⋌\",RightTriangle:\"⊳\",RightTriangleBar:\"⧐\",RightTriangleEqual:\"⊵\",RightUpDownVector:\"⥏\",RightUpTeeVector:\"⥜\",RightUpVector:\"↾\",RightUpVectorBar:\"⥔\",RightVector:\"⇀\",RightVectorBar:\"⥓\",ring:\"˚\",risingdotseq:\"≓\",rlarr:\"⇄\",rlhar:\"⇌\",rlm:\"‏\",rmoust:\"⎱\",rmoustache:\"⎱\",rnmid:\"⫮\",roang:\"⟭\",roarr:\"⇾\",robrk:\"⟧\",ropar:\"⦆\",Ropf:\"ℝ\",ropf:\"𝕣\",roplus:\"⨮\",rotimes:\"⨵\",RoundImplies:\"⥰\",rpar:\")\",rpargt:\"⦔\",rppolint:\"⨒\",rrarr:\"⇉\",Rrightarrow:\"⇛\",rsaquo:\"›\",Rscr:\"ℛ\",rscr:\"𝓇\",Rsh:\"↱\",rsh:\"↱\",rsqb:\"]\",rsquo:\"’\",rsquor:\"’\",rthree:\"⋌\",rtimes:\"⋊\",rtri:\"▹\",rtrie:\"⊵\",rtrif:\"▸\",rtriltri:\"⧎\",RuleDelayed:\"⧴\",ruluhar:\"⥨\",rx:\"℞\",Sacute:\"Ś\",sacute:\"ś\",sbquo:\"‚\",Sc:\"⪼\",sc:\"≻\",scap:\"⪸\",Scaron:\"Š\",scaron:\"š\",sccue:\"≽\",scE:\"⪴\",sce:\"⪰\",Scedil:\"Ş\",scedil:\"ş\",Scirc:\"Ŝ\",scirc:\"ŝ\",scnap:\"⪺\",scnE:\"⪶\",scnsim:\"⋩\",scpolint:\"⨓\",scsim:\"≿\",Scy:\"С\",scy:\"с\",sdot:\"⋅\",sdotb:\"⊡\",sdote:\"⩦\",searhk:\"⤥\",seArr:\"⇘\",searr:\"↘\",searrow:\"↘\",sect:\"§\",semi:\";\",seswar:\"⤩\",setminus:\"∖\",setmn:\"∖\",sext:\"✶\",Sfr:\"𝔖\",sfr:\"𝔰\",sfrown:\"⌢\",sharp:\"♯\",SHCHcy:\"Щ\",shchcy:\"щ\",SHcy:\"Ш\",shcy:\"ш\",ShortDownArrow:\"↓\",ShortLeftArrow:\"←\",shortmid:\"∣\",shortparallel:\"∥\",ShortRightArrow:\"→\",ShortUpArrow:\"↑\",shy:\"­\",Sigma:\"Σ\",sigma:\"σ\",sigmaf:\"ς\",sigmav:\"ς\",sim:\"∼\",simdot:\"⩪\",sime:\"≃\",simeq:\"≃\",simg:\"⪞\",simgE:\"⪠\",siml:\"⪝\",simlE:\"⪟\",simne:\"≆\",simplus:\"⨤\",simrarr:\"⥲\",slarr:\"←\",SmallCircle:\"∘\",smallsetminus:\"∖\",smashp:\"⨳\",smeparsl:\"⧤\",smid:\"∣\",smile:\"⌣\",smt:\"⪪\",smte:\"⪬\",smtes:\"⪬︀\",SOFTcy:\"Ь\",softcy:\"ь\",sol:\"/\",solb:\"⧄\",solbar:\"⌿\",Sopf:\"𝕊\",sopf:\"𝕤\",spades:\"♠\",spadesuit:\"♠\",spar:\"∥\",sqcap:\"⊓\",sqcaps:\"⊓︀\",sqcup:\"⊔\",sqcups:\"⊔︀\",Sqrt:\"√\",sqsub:\"⊏\",sqsube:\"⊑\",sqsubset:\"⊏\",sqsubseteq:\"⊑\",sqsup:\"⊐\",sqsupe:\"⊒\",sqsupset:\"⊐\",sqsupseteq:\"⊒\",squ:\"□\",Square:\"□\",square:\"□\",SquareIntersection:\"⊓\",SquareSubset:\"⊏\",SquareSubsetEqual:\"⊑\",SquareSuperset:\"⊐\",SquareSupersetEqual:\"⊒\",SquareUnion:\"⊔\",squarf:\"▪\",squf:\"▪\",srarr:\"→\",Sscr:\"𝒮\",sscr:\"𝓈\",ssetmn:\"∖\",ssmile:\"⌣\",sstarf:\"⋆\",Star:\"⋆\",star:\"☆\",starf:\"★\",straightepsilon:\"ϵ\",straightphi:\"ϕ\",strns:\"¯\",Sub:\"⋐\",sub:\"⊂\",subdot:\"⪽\",subE:\"⫅\",sube:\"⊆\",subedot:\"⫃\",submult:\"⫁\",subnE:\"⫋\",subne:\"⊊\",subplus:\"⪿\",subrarr:\"⥹\",Subset:\"⋐\",subset:\"⊂\",subseteq:\"⊆\",subseteqq:\"⫅\",SubsetEqual:\"⊆\",subsetneq:\"⊊\",subsetneqq:\"⫋\",subsim:\"⫇\",subsub:\"⫕\",subsup:\"⫓\",succ:\"≻\",succapprox:\"⪸\",succcurlyeq:\"≽\",Succeeds:\"≻\",SucceedsEqual:\"⪰\",SucceedsSlantEqual:\"≽\",SucceedsTilde:\"≿\",succeq:\"⪰\",succnapprox:\"⪺\",succneqq:\"⪶\",succnsim:\"⋩\",succsim:\"≿\",SuchThat:\"∋\",Sum:\"∑\",sum:\"∑\",sung:\"♪\",Sup:\"⋑\",sup:\"⊃\",sup1:\"¹\",sup2:\"²\",sup3:\"³\",supdot:\"⪾\",supdsub:\"⫘\",supE:\"⫆\",supe:\"⊇\",supedot:\"⫄\",Superset:\"⊃\",SupersetEqual:\"⊇\",suphsol:\"⟉\",suphsub:\"⫗\",suplarr:\"⥻\",supmult:\"⫂\",supnE:\"⫌\",supne:\"⊋\",supplus:\"⫀\",Supset:\"⋑\",supset:\"⊃\",supseteq:\"⊇\",supseteqq:\"⫆\",supsetneq:\"⊋\",supsetneqq:\"⫌\",supsim:\"⫈\",supsub:\"⫔\",supsup:\"⫖\",swarhk:\"⤦\",swArr:\"⇙\",swarr:\"↙\",swarrow:\"↙\",swnwar:\"⤪\",szlig:\"ß\",Tab:\" \",target:\"⌖\",Tau:\"Τ\",tau:\"τ\",tbrk:\"⎴\",Tcaron:\"Ť\",tcaron:\"ť\",Tcedil:\"Ţ\",tcedil:\"ţ\",Tcy:\"Т\",tcy:\"т\",tdot:\"⃛\",telrec:\"⌕\",Tfr:\"𝔗\",tfr:\"𝔱\",there4:\"∴\",Therefore:\"∴\",therefore:\"∴\",Theta:\"Θ\",theta:\"θ\",thetasym:\"ϑ\",thetav:\"ϑ\",thickapprox:\"≈\",thicksim:\"∼\",ThickSpace:\"  \",thinsp:\" \",ThinSpace:\" \",thkap:\"≈\",thksim:\"∼\",THORN:\"Þ\",thorn:\"þ\",Tilde:\"∼\",tilde:\"˜\",TildeEqual:\"≃\",TildeFullEqual:\"≅\",TildeTilde:\"≈\",times:\"×\",timesb:\"⊠\",timesbar:\"⨱\",timesd:\"⨰\",tint:\"∭\",toea:\"⤨\",top:\"⊤\",topbot:\"⌶\",topcir:\"⫱\",Topf:\"𝕋\",topf:\"𝕥\",topfork:\"⫚\",tosa:\"⤩\",tprime:\"‴\",TRADE:\"™\",trade:\"™\",triangle:\"▵\",triangledown:\"▿\",triangleleft:\"◃\",trianglelefteq:\"⊴\",triangleq:\"≜\",triangleright:\"▹\",trianglerighteq:\"⊵\",tridot:\"◬\",trie:\"≜\",triminus:\"⨺\",TripleDot:\"⃛\",triplus:\"⨹\",trisb:\"⧍\",tritime:\"⨻\",trpezium:\"⏢\",Tscr:\"𝒯\",tscr:\"𝓉\",TScy:\"Ц\",tscy:\"ц\",TSHcy:\"Ћ\",tshcy:\"ћ\",Tstrok:\"Ŧ\",tstrok:\"ŧ\",twixt:\"≬\",twoheadleftarrow:\"↞\",twoheadrightarrow:\"↠\",Uacute:\"Ú\",uacute:\"ú\",Uarr:\"↟\",uArr:\"⇑\",uarr:\"↑\",Uarrocir:\"⥉\",Ubrcy:\"Ў\",ubrcy:\"ў\",Ubreve:\"Ŭ\",ubreve:\"ŭ\",Ucirc:\"Û\",ucirc:\"û\",Ucy:\"У\",ucy:\"у\",udarr:\"⇅\",Udblac:\"Ű\",udblac:\"ű\",udhar:\"⥮\",ufisht:\"⥾\",Ufr:\"𝔘\",ufr:\"𝔲\",Ugrave:\"Ù\",ugrave:\"ù\",uHar:\"⥣\",uharl:\"↿\",uharr:\"↾\",uhblk:\"▀\",ulcorn:\"⌜\",ulcorner:\"⌜\",ulcrop:\"⌏\",ultri:\"◸\",Umacr:\"Ū\",umacr:\"ū\",uml:\"¨\",UnderBar:\"_\",UnderBrace:\"⏟\",UnderBracket:\"⎵\",UnderParenthesis:\"⏝\",Union:\"⋃\",UnionPlus:\"⊎\",Uogon:\"Ų\",uogon:\"ų\",Uopf:\"𝕌\",uopf:\"𝕦\",UpArrow:\"↑\",Uparrow:\"⇑\",uparrow:\"↑\",UpArrowBar:\"⤒\",UpArrowDownArrow:\"⇅\",UpDownArrow:\"↕\",Updownarrow:\"⇕\",updownarrow:\"↕\",UpEquilibrium:\"⥮\",upharpoonleft:\"↿\",upharpoonright:\"↾\",uplus:\"⊎\",UpperLeftArrow:\"↖\",UpperRightArrow:\"↗\",Upsi:\"ϒ\",upsi:\"υ\",upsih:\"ϒ\",Upsilon:\"Υ\",upsilon:\"υ\",UpTee:\"⊥\",UpTeeArrow:\"↥\",upuparrows:\"⇈\",urcorn:\"⌝\",urcorner:\"⌝\",urcrop:\"⌎\",Uring:\"Ů\",uring:\"ů\",urtri:\"◹\",Uscr:\"𝒰\",uscr:\"𝓊\",utdot:\"⋰\",Utilde:\"Ũ\",utilde:\"ũ\",utri:\"▵\",utrif:\"▴\",uuarr:\"⇈\",Uuml:\"Ü\",uuml:\"ü\",uwangle:\"⦧\",vangrt:\"⦜\",varepsilon:\"ϵ\",varkappa:\"ϰ\",varnothing:\"∅\",varphi:\"ϕ\",varpi:\"ϖ\",varpropto:\"∝\",vArr:\"⇕\",varr:\"↕\",varrho:\"ϱ\",varsigma:\"ς\",varsubsetneq:\"⊊︀\",varsubsetneqq:\"⫋︀\",varsupsetneq:\"⊋︀\",varsupsetneqq:\"⫌︀\",vartheta:\"ϑ\",vartriangleleft:\"⊲\",vartriangleright:\"⊳\",Vbar:\"⫫\",vBar:\"⫨\",vBarv:\"⫩\",Vcy:\"В\",vcy:\"в\",VDash:\"⊫\",Vdash:\"⊩\",vDash:\"⊨\",vdash:\"⊢\",Vdashl:\"⫦\",Vee:\"⋁\",vee:\"∨\",veebar:\"⊻\",veeeq:\"≚\",vellip:\"⋮\",Verbar:\"‖\",verbar:\"|\",Vert:\"‖\",vert:\"|\",VerticalBar:\"∣\",VerticalLine:\"|\",VerticalSeparator:\"❘\",VerticalTilde:\"≀\",VeryThinSpace:\" \",Vfr:\"𝔙\",vfr:\"𝔳\",vltri:\"⊲\",vnsub:\"⊂⃒\",vnsup:\"⊃⃒\",Vopf:\"𝕍\",vopf:\"𝕧\",vprop:\"∝\",vrtri:\"⊳\",Vscr:\"𝒱\",vscr:\"𝓋\",vsubnE:\"⫋︀\",vsubne:\"⊊︀\",vsupnE:\"⫌︀\",vsupne:\"⊋︀\",Vvdash:\"⊪\",vzigzag:\"⦚\",Wcirc:\"Ŵ\",wcirc:\"ŵ\",wedbar:\"⩟\",Wedge:\"⋀\",wedge:\"∧\",wedgeq:\"≙\",weierp:\"℘\",Wfr:\"𝔚\",wfr:\"𝔴\",Wopf:\"𝕎\",wopf:\"𝕨\",wp:\"℘\",wr:\"≀\",wreath:\"≀\",Wscr:\"𝒲\",wscr:\"𝓌\",xcap:\"⋂\",xcirc:\"◯\",xcup:\"⋃\",xdtri:\"▽\",Xfr:\"𝔛\",xfr:\"𝔵\",xhArr:\"⟺\",xharr:\"⟷\",Xi:\"Ξ\",xi:\"ξ\",xlArr:\"⟸\",xlarr:\"⟵\",xmap:\"⟼\",xnis:\"⋻\",xodot:\"⨀\",Xopf:\"𝕏\",xopf:\"𝕩\",xoplus:\"⨁\",xotime:\"⨂\",xrArr:\"⟹\",xrarr:\"⟶\",Xscr:\"𝒳\",xscr:\"𝓍\",xsqcup:\"⨆\",xuplus:\"⨄\",xutri:\"△\",xvee:\"⋁\",xwedge:\"⋀\",Yacute:\"Ý\",yacute:\"ý\",YAcy:\"Я\",yacy:\"я\",Ycirc:\"Ŷ\",ycirc:\"ŷ\",Ycy:\"Ы\",ycy:\"ы\",yen:\"¥\",Yfr:\"𝔜\",yfr:\"𝔶\",YIcy:\"Ї\",yicy:\"ї\",Yopf:\"𝕐\",yopf:\"𝕪\",Yscr:\"𝒴\",yscr:\"𝓎\",YUcy:\"Ю\",yucy:\"ю\",Yuml:\"Ÿ\",yuml:\"ÿ\",Zacute:\"Ź\",zacute:\"ź\",Zcaron:\"Ž\",zcaron:\"ž\",Zcy:\"З\",zcy:\"з\",Zdot:\"Ż\",zdot:\"ż\",zeetrf:\"ℨ\",ZeroWidthSpace:\"​\",Zeta:\"Ζ\",zeta:\"ζ\",Zfr:\"ℨ\",zfr:\"𝔷\",ZHcy:\"Ж\",zhcy:\"ж\",zigrarr:\"⇝\",Zopf:\"ℤ\",zopf:\"𝕫\",Zscr:\"𝒵\",zscr:\"𝓏\",zwj:\"‍\",zwnj:\"‌\"}},{}],2:[function(e,t,r){\"use strict\";var n={};[\"article\",\"aside\",\"button\",\"blockquote\",\"body\",\"canvas\",\"caption\",\"col\",\"colgroup\",\"dd\",\"div\",\"dl\",\"dt\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"iframe\",\"li\",\"map\",\"object\",\"ol\",\"output\",\"p\",\"pre\",\"progress\",\"script\",\"section\",\"style\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"tr\",\"thead\",\"ul\",\"video\"].forEach(function(e){n[e]=!0}),t.exports=n},{}],3:[function(e,t,r){\"use strict\";function n(e,t){return e=e.source,t=t||\"\",function r(n,s){return n?(s=s.source||s,e=e.replace(n,s),r):new RegExp(e,t)}}var s=/[a-zA-Z_:][a-zA-Z0-9:._-]*/,o=/[^\"'=<>`\\x00-\\x20]+/,i=/'[^']*'/,l=/\"[^\"]*\"/,a=n(/(?:unquoted|single_quoted|double_quoted)/)(\"unquoted\",o)(\"single_quoted\",i)(\"double_quoted\",l)(),c=n(/(?:\\s+attr_name(?:\\s*=\\s*attr_value)?)/)(\"attr_name\",s)(\"attr_value\",a)(),u=n(/<[A-Za-z][A-Za-z0-9]*attribute*\\s*\\/?>/)(\"attribute\",c)(),p=/<\\/[A-Za-z][A-Za-z0-9]*\\s*>/,h=/<!--([^-]+|[-][^-]+)*-->/,f=/<[?].*?[?]>/,d=/<![A-Z]+\\s+[^>]*>/,g=/<!\\[CDATA\\[([^\\]]+|\\][^\\]]|\\]\\][^>])*\\]\\]>/,m=n(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)(\"open_tag\",u)(\"close_tag\",p)(\"comment\",h)(\"processing\",f)(\"declaration\",d)(\"cdata\",g)();t.exports.HTML_TAG_RE=m},{}],4:[function(e,t,r){\"use strict\";t.exports=[\"coap\",\"doi\",\"javascript\",\"aaa\",\"aaas\",\"about\",\"acap\",\"cap\",\"cid\",\"crid\",\"data\",\"dav\",\"dict\",\"dns\",\"file\",\"ftp\",\"geo\",\"go\",\"gopher\",\"h323\",\"http\",\"https\",\"iax\",\"icap\",\"im\",\"imap\",\"info\",\"ipp\",\"iris\",\"iris.beep\",\"iris.xpc\",\"iris.xpcs\",\"iris.lwz\",\"ldap\",\"mailto\",\"mid\",\"msrp\",\"msrps\",\"mtqp\",\"mupdate\",\"news\",\"nfs\",\"ni\",\"nih\",\"nntp\",\"opaquelocktoken\",\"pop\",\"pres\",\"rtsp\",\"service\",\"session\",\"shttp\",\"sieve\",\"sip\",\"sips\",\"sms\",\"snmp\",\"soap.beep\",\"soap.beeps\",\"tag\",\"tel\",\"telnet\",\"tftp\",\"thismessage\",\"tn3270\",\"tip\",\"tv\",\"urn\",\"vemmi\",\"ws\",\"wss\",\"xcon\",\"xcon-userid\",\"xmlrpc.beep\",\"xmlrpc.beeps\",\"xmpp\",\"z39.50r\",\"z39.50s\",\"adiumxtra\",\"afp\",\"afs\",\"aim\",\"apt\",\"attachment\",\"aw\",\"beshare\",\"bitcoin\",\"bolo\",\"callto\",\"chrome\",\"chrome-extension\",\"com-eventbrite-attendee\",\"content\",\"cvs\",\"dlna-playsingle\",\"dlna-playcontainer\",\"dtn\",\"dvb\",\"ed2k\",\"facetime\",\"feed\",\"finger\",\"fish\",\"gg\",\"git\",\"gizmoproject\",\"gtalk\",\"hcp\",\"icon\",\"ipn\",\"irc\",\"irc6\",\"ircs\",\"itms\",\"jar\",\"jms\",\"keyparc\",\"lastfm\",\"ldaps\",\"magnet\",\"maps\",\"market\",\"message\",\"mms\",\"ms-help\",\"msnim\",\"mumble\",\"mvn\",\"notes\",\"oid\",\"palm\",\"paparazzi\",\"platform\",\"proxy\",\"psyc\",\"query\",\"res\",\"resource\",\"rmi\",\"rsync\",\"rtmp\",\"secondlife\",\"sftp\",\"sgn\",\"skype\",\"smb\",\"soldat\",\"spotify\",\"ssh\",\"steam\",\"svn\",\"teamspeak\",\"things\",\"udp\",\"unreal\",\"ut2004\",\"ventrilo\",\"view-source\",\"webcal\",\"wtai\",\"wyciwyg\",\"xfire\",\"xri\",\"ymsgr\"]},{}],5:[function(e,t,r){\"use strict\";function n(e){return Object.prototype.toString.call(e)}function s(e){return\"[object String]\"===n(e)}function o(e,t){return e?d.call(e,t):!1}function i(e){var t=[].slice.call(arguments,1);return t.forEach(function(t){if(t){if(\"object\"!=typeof t)throw new TypeError(t+\"must be object\");Object.keys(t).forEach(function(r){e[r]=t[r]})}}),e}function l(e){return e.indexOf(\"\\\\\")<0?e:e.replace(g,\"$1\")}function a(e){return e>=55296&&57343>=e?!1:e>=64976&&65007>=e?!1:65535===(65535&e)||65534===(65535&e)?!1:e>=0&&8>=e?!1:11===e?!1:e>=14&&31>=e?!1:e>=127&&159>=e?!1:e>1114111?!1:!0}function c(e){if(e>65535){e-=65536;var t=55296+(e>>10),r=56320+(1023&e);return String.fromCharCode(t,r)}return String.fromCharCode(e)}function u(e,t){var r=0;return o(v,t)?v[t]:35===t.charCodeAt(0)&&b.test(t)&&(r=\"x\"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10),a(r))?c(r):e}function p(e){return e.indexOf(\"&\")<0?e:e.replace(m,u)}function h(e){return y[e]}function f(e){return k.test(e)?e.replace(_,h):e}var d=Object.prototype.hasOwnProperty,g=/\\\\([\\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g,m=/&([a-z#][a-z0-9]{1,31});/gi,b=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,v=e(\"./entities\"),k=/[&<>\"]/,_=/[&<>\"]/g,y={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\"};r.assign=i,r.isString=s,r.has=o,r.unescapeMd=l,r.isValidEntityCode=a,r.fromCodePoint=c,r.replaceEntities=p,r.escapeHtml=f},{\"./entities\":1}],6:[function(e,t,r){\"use strict\";t.exports={options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:\"language-\",linkify:!1,linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"block\",\"inline\",\"references\",\"abbr2\"]},block:{rules:[\"blockquote\",\"code\",\"fences\",\"heading\",\"hr\",\"htmlblock\",\"lheading\",\"list\",\"paragraph\"]},inline:{rules:[\"autolink\",\"backticks\",\"emphasis\",\"entity\",\"escape\",\"htmltag\",\"links\",\"newline\",\"text\"]}}}},{}],7:[function(e,t,r){\"use strict\";t.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkify:!1,linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"block\",\"inline\",\"references\",\"replacements\",\"linkify\",\"smartquotes\",\"references\",\"abbr2\",\"footnote_tail\"]},block:{rules:[\"blockquote\",\"code\",\"fences\",\"heading\",\"hr\",\"htmlblock\",\"lheading\",\"list\",\"paragraph\",\"table\"]},inline:{rules:[\"autolink\",\"backticks\",\"del\",\"emphasis\",\"entity\",\"escape\",\"footnote_ref\",\"htmltag\",\"links\",\"newline\",\"text\"]}}}},{}],8:[function(e,t,r){\"use strict\";t.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkify:!1,linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}}},{}],9:[function(e,t,r){\"use strict\";var n=e(\"../common/utils\").replaceEntities;t.exports=function(e){var t=n(e);try{t=decodeURI(t)}catch(r){}return encodeURI(t)}},{\"../common/utils\":5}],10:[function(e,t,r){\"use strict\";t.exports=function(e){return e.trim().replace(/\\s+/g,\" \").toUpperCase()}},{}],11:[function(e,t,r){\"use strict\";var n=e(\"./normalize_link\"),s=e(\"../common/utils\").unescapeMd;t.exports=function(e,t){var r,o,i,l=t,a=e.posMax;if(60===e.src.charCodeAt(t)){for(t++;a>t;){if(r=e.src.charCodeAt(t),10===r)return!1;if(62===r)return i=n(s(e.src.slice(l+1,t))),e.parser.validateLink(i)?(e.pos=t+1,e.linkContent=i,!0):!1;92===r&&a>t+1?t+=2:t++}return!1}for(o=0;a>t&&(r=e.src.charCodeAt(t),32!==r)&&!(r>8&&14>r);)if(92===r&&a>t+1)t+=2;else{if(40===r&&(o++,o>1))break;if(41===r&&(o--,0>o))break;t++}return l===t?!1:(i=s(e.src.slice(l,t)),e.parser.validateLink(i)?(e.linkContent=i,e.pos=t,!0):!1)}},{\"../common/utils\":5,\"./normalize_link\":9}],12:[function(e,t,r){\"use strict\";\nt.exports=function(e,t){var r,n,s,o=-1,i=e.posMax,l=e.pos,a=e.isInLabel;if(e.isInLabel)return-1;if(e.labelUnmatchedScopes)return e.labelUnmatchedScopes--,-1;for(e.pos=t+1,e.isInLabel=!0,r=1;e.pos<i;){if(s=e.src.charCodeAt(e.pos),91===s)r++;else if(93===s&&(r--,0===r)){n=!0;break}e.parser.skipToken(e)}return n?(o=e.pos,e.labelUnmatchedScopes=0):e.labelUnmatchedScopes=r-1,e.pos=l,e.isInLabel=a,o}},{}],13:[function(e,t,r){\"use strict\";var n=e(\"../common/utils\").unescapeMd;t.exports=function(e,t){var r,s=t,o=e.posMax,i=e.src.charCodeAt(t);if(34!==i&&39!==i&&40!==i)return!1;for(t++,40===i&&(i=41);o>t;){if(r=e.src.charCodeAt(t),r===i)return e.pos=t+1,e.linkContent=n(e.src.slice(s+1,t)),!0;92===r&&o>t+1?t+=2:t++}return!1}},{\"../common/utils\":5}],14:[function(e,t,r){\"use strict\";function n(e,t,r){this.src=t,this.env=r,this.options=e.options,this.tokens=[],this.inlineMode=!1,this.inline=e.inline,this.block=e.block,this.renderer=e.renderer,this.typographer=e.typographer}function s(e,t){\"string\"!=typeof e&&(t=e,e=\"default\"),this.inline=new c,this.block=new a,this.core=new l,this.renderer=new i,this.ruler=new u,this.options={},this.configure(p[e]),this.set(t||{})}var o=e(\"./common/utils\").assign,i=e(\"./renderer\"),l=e(\"./parser_core\"),a=e(\"./parser_block\"),c=e(\"./parser_inline\"),u=e(\"./ruler\"),p={\"default\":e(\"./configs/default\"),full:e(\"./configs/full\"),commonmark:e(\"./configs/commonmark\")};s.prototype.set=function(e){o(this.options,e)},s.prototype.configure=function(e){var t=this;if(!e)throw new Error(\"Wrong `remarkable` preset, check name/content\");e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(r){e.components[r].rules&&t[r].ruler.enable(e.components[r].rules,!0)})},s.prototype.use=function(e,t){return e(this,t),this},s.prototype.parse=function(e,t){var r=new n(this,e,t);return this.core.process(r),r.tokens},s.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},s.prototype.parseInline=function(e,t){var r=new n(this,e,t);return r.inlineMode=!0,this.core.process(r),r.tokens},s.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)},t.exports=s,t.exports.utils=e(\"./common/utils\")},{\"./common/utils\":5,\"./configs/commonmark\":6,\"./configs/default\":7,\"./configs/full\":8,\"./parser_block\":15,\"./parser_core\":16,\"./parser_inline\":17,\"./renderer\":18,\"./ruler\":19}],15:[function(e,t,r){\"use strict\";function n(){this.ruler=new s;for(var e=0;e<i.length;e++)this.ruler.push(i[e][0],i[e][1],{alt:(i[e][2]||[]).slice()})}var s=e(\"./ruler\"),o=e(\"./rules_block/state_block\"),i=[[\"code\",e(\"./rules_block/code\")],[\"fences\",e(\"./rules_block/fences\"),[\"paragraph\",\"blockquote\",\"list\"]],[\"blockquote\",e(\"./rules_block/blockquote\"),[\"paragraph\",\"blockquote\",\"list\"]],[\"hr\",e(\"./rules_block/hr\"),[\"paragraph\",\"blockquote\",\"list\"]],[\"list\",e(\"./rules_block/list\"),[\"paragraph\",\"blockquote\"]],[\"footnote\",e(\"./rules_block/footnote\"),[\"paragraph\"]],[\"heading\",e(\"./rules_block/heading\"),[\"paragraph\",\"blockquote\"]],[\"lheading\",e(\"./rules_block/lheading\")],[\"htmlblock\",e(\"./rules_block/htmlblock\"),[\"paragraph\",\"blockquote\"]],[\"table\",e(\"./rules_block/table\"),[\"paragraph\"]],[\"deflist\",e(\"./rules_block/deflist\"),[\"paragraph\"]],[\"paragraph\",e(\"./rules_block/paragraph\")]];n.prototype.tokenize=function(e,t,r){for(var n,s,o=this.ruler.getRules(\"\"),i=o.length,l=t,a=!1;r>l&&(e.line=l=e.skipEmptyLines(l),!(l>=r))&&!(e.tShift[l]<e.blkIndent);){for(s=0;i>s&&!(n=o[s](e,l,r,!1));s++);if(e.tight=!a,e.isEmpty(e.line-1)&&(a=!0),l=e.line,r>l&&e.isEmpty(l)){if(a=!0,l++,r>l&&\"list\"===e.parentType&&e.isEmpty(l))break;e.line=l}}};var l=/[\\n\\t]/g,a=/\\r[\\n\\u0085]|[\\u2424\\u2028\\u0085]/g,c=/\\u00a0/g;n.prototype.parse=function(e,t,r,n){var s,i=0,u=0;return e?(e=e.replace(c,\" \"),e=e.replace(a,\"\\n\"),e.indexOf(\"  \")>=0&&(e=e.replace(l,function(t,r){var n;return 10===e.charCodeAt(r)?(i=r+1,u=0,t):(n=\"    \".slice((r-i-u)%4),u=r-i+1,n)})),s=new o(e,this,t,r,n),void this.tokenize(s,s.line,s.lineMax)):[]},t.exports=n},{\"./ruler\":19,\"./rules_block/blockquote\":21,\"./rules_block/code\":22,\"./rules_block/deflist\":23,\"./rules_block/fences\":24,\"./rules_block/footnote\":25,\"./rules_block/heading\":26,\"./rules_block/hr\":27,\"./rules_block/htmlblock\":28,\"./rules_block/lheading\":29,\"./rules_block/list\":30,\"./rules_block/paragraph\":31,\"./rules_block/state_block\":32,\"./rules_block/table\":33}],16:[function(e,t,r){\"use strict\";function n(){this.options={},this.ruler=new s;for(var e=0;e<o.length;e++)this.ruler.push(o[e][0],o[e][1])}var s=e(\"./ruler\"),o=[[\"block\",e(\"./rules_core/block\")],[\"abbr\",e(\"./rules_core/abbr\")],[\"references\",e(\"./rules_core/references\")],[\"inline\",e(\"./rules_core/inline\")],[\"footnote_tail\",e(\"./rules_core/footnote_tail\")],[\"abbr2\",e(\"./rules_core/abbr2\")],[\"replacements\",e(\"./rules_core/replacements\")],[\"smartquotes\",e(\"./rules_core/smartquotes\")],[\"linkify\",e(\"./rules_core/linkify\")]];n.prototype.process=function(e){var t,r,n;for(n=this.ruler.getRules(\"\"),t=0,r=n.length;r>t;t++)n[t](e)},t.exports=n},{\"./ruler\":19,\"./rules_core/abbr\":34,\"./rules_core/abbr2\":35,\"./rules_core/block\":36,\"./rules_core/footnote_tail\":37,\"./rules_core/inline\":38,\"./rules_core/linkify\":39,\"./rules_core/references\":40,\"./rules_core/replacements\":41,\"./rules_core/smartquotes\":42}],17:[function(e,t,r){\"use strict\";function n(){this.ruler=new o;for(var e=0;e<a.length;e++)this.ruler.push(a[e][0],a[e][1]);this.validateLink=s}function s(e){var t=[\"vbscript\",\"javascript\",\"file\"],r=e.trim().toLowerCase();return r=l.replaceEntities(r),-1!==r.indexOf(\":\")&&-1!==t.indexOf(r.split(\":\")[0])?!1:!0}var o=e(\"./ruler\"),i=e(\"./rules_inline/state_inline\"),l=e(\"./common/utils\"),a=[[\"text\",e(\"./rules_inline/text\")],[\"newline\",e(\"./rules_inline/newline\")],[\"escape\",e(\"./rules_inline/escape\")],[\"backticks\",e(\"./rules_inline/backticks\")],[\"del\",e(\"./rules_inline/del\")],[\"ins\",e(\"./rules_inline/ins\")],[\"mark\",e(\"./rules_inline/mark\")],[\"emphasis\",e(\"./rules_inline/emphasis\")],[\"sub\",e(\"./rules_inline/sub\")],[\"sup\",e(\"./rules_inline/sup\")],[\"links\",e(\"./rules_inline/links\")],[\"footnote_inline\",e(\"./rules_inline/footnote_inline\")],[\"footnote_ref\",e(\"./rules_inline/footnote_ref\")],[\"autolink\",e(\"./rules_inline/autolink\")],[\"htmltag\",e(\"./rules_inline/htmltag\")],[\"entity\",e(\"./rules_inline/entity\")]];n.prototype.skipToken=function(e){var t,r,n=this.ruler.getRules(\"\"),s=n.length,o=e.pos;if((r=e.cacheGet(o))>0)return void(e.pos=r);for(t=0;s>t;t++)if(n[t](e,!0))return void e.cacheSet(o,e.pos);e.pos++,e.cacheSet(o,e.pos)},n.prototype.tokenize=function(e){for(var t,r,n=this.ruler.getRules(\"\"),s=n.length,o=e.posMax;e.pos<o;){for(r=0;s>r&&!(t=n[r](e,!1));r++);if(t){if(e.pos>=o)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},n.prototype.parse=function(e,t,r,n){var s=new i(e,this,t,r,n);this.tokenize(s)},t.exports=n},{\"./common/utils\":5,\"./ruler\":19,\"./rules_inline/autolink\":43,\"./rules_inline/backticks\":44,\"./rules_inline/del\":45,\"./rules_inline/emphasis\":46,\"./rules_inline/entity\":47,\"./rules_inline/escape\":48,\"./rules_inline/footnote_inline\":49,\"./rules_inline/footnote_ref\":50,\"./rules_inline/htmltag\":51,\"./rules_inline/ins\":52,\"./rules_inline/links\":53,\"./rules_inline/mark\":54,\"./rules_inline/newline\":55,\"./rules_inline/state_inline\":56,\"./rules_inline/sub\":57,\"./rules_inline/sup\":58,\"./rules_inline/text\":59}],18:[function(e,t,r){\"use strict\";function n(){this.rules=s.assign({},o),this.getBreak=o.getBreak}var s=e(\"./common/utils\"),o=e(\"./rules\");t.exports=n,n.prototype.renderInline=function(e,t,r){for(var n=this.rules,s=e.length,o=0,i=\"\";s--;)i+=n[e[o].type](e,o++,t,r,this);return i},n.prototype.render=function(e,t,r){for(var n=this.rules,s=e.length,o=-1,i=\"\";++o<s;)i+=\"inline\"===e[o].type?this.renderInline(e[o].children,t,r):n[e[o].type](e,o,t,r,this);return i}},{\"./common/utils\":5,\"./rules\":20}],19:[function(e,t,r){\"use strict\";function n(){this.__rules__=[],this.__cache__=null}n.prototype.__find__=function(e){for(var t=this.__rules__.length,r=-1;t--;)if(this.__rules__[++r].name===e)return r;return-1},n.prototype.__compile__=function(){var e=this,t=[\"\"];e.__rules__.forEach(function(e){e.enabled&&e.alt.forEach(function(e){t.indexOf(e)<0&&t.push(e)})}),e.__cache__={},t.forEach(function(t){e.__cache__[t]=[],e.__rules__.forEach(function(r){r.enabled&&(t&&r.alt.indexOf(t)<0||e.__cache__[t].push(r.fn))})})},n.prototype.at=function(e,t,r){var n=this.__find__(e),s=r||{};if(-1===n)throw new Error(\"Parser rule not found: \"+e);this.__rules__[n].fn=t,this.__rules__[n].alt=s.alt||[],this.__cache__=null},n.prototype.before=function(e,t,r,n){var s=this.__find__(e),o=n||{};if(-1===s)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(s,0,{name:t,enabled:!0,fn:r,alt:o.alt||[]}),this.__cache__=null},n.prototype.after=function(e,t,r,n){var s=this.__find__(e),o=n||{};if(-1===s)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(s+1,0,{name:t,enabled:!0,fn:r,alt:o.alt||[]}),this.__cache__=null},n.prototype.push=function(e,t,r){var n=r||{};this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null},n.prototype.enable=function(e,t){e=Array.isArray(e)?e:[e],t&&this.__rules__.forEach(function(e){e.enabled=!1}),e.forEach(function(e){var t=this.__find__(e);if(0>t)throw new Error(\"Rules manager: invalid rule name \"+e);this.__rules__[t].enabled=!0},this),this.__cache__=null},n.prototype.disable=function(e){e=Array.isArray(e)?e:[e],e.forEach(function(e){var t=this.__find__(e);if(0>t)throw new Error(\"Rules manager: invalid rule name \"+e);this.__rules__[t].enabled=!1},this),this.__cache__=null},n.prototype.getRules=function(e){return null===this.__cache__&&this.__compile__(),this.__cache__[e]},t.exports=n},{}],20:[function(e,t,r){\"use strict\";function n(e,t){return++t>=e.length-2?t:\"paragraph_open\"===e[t].type&&e[t].tight&&\"inline\"===e[t+1].type&&0===e[t+1].content.length&&\"paragraph_close\"===e[t+2].type&&e[t+2].tight?n(e,t+2):t}var s=e(\"./common/utils\").has,o=e(\"./common/utils\").unescapeMd,i=e(\"./common/utils\").replaceEntities,l=e(\"./common/utils\").escapeHtml,a={};a.blockquote_open=function(){return\"<blockquote>\\n\"},a.blockquote_close=function(e,t){return\"</blockquote>\"+c(e,t)},a.code=function(e,t){return e[t].block?\"<pre><code>\"+l(e[t].content)+\"</code></pre>\"+c(e,t):\"<code>\"+l(e[t].content)+\"</code>\"},a.fence=function(e,t,r,n,a){var u,p,h=e[t],f=\"\",d=r.langPrefix,g=\"\";if(h.params){if(u=h.params.split(/\\s+/g)[0],s(a.rules.fence_custom,u))return a.rules.fence_custom[u](e,t,r,n,a);g=l(i(o(u))),f=' class=\"'+d+g+'\"'}return p=r.highlight?r.highlight(h.content,g)||l(h.content):l(h.content),\"<pre><code\"+f+\">\"+p+\"</code></pre>\"+c(e,t)},a.fence_custom={},a.heading_open=function(e,t){return\"<h\"+e[t].hLevel+\">\"},a.heading_close=function(e,t){return\"</h\"+e[t].hLevel+\">\\n\"},a.hr=function(e,t,r){return(r.xhtmlOut?\"<hr />\":\"<hr>\")+c(e,t)},a.bullet_list_open=function(){return\"<ul>\\n\"},a.bullet_list_close=function(e,t){return\"</ul>\"+c(e,t)},a.list_item_open=function(){return\"<li>\"},a.list_item_close=function(){return\"</li>\\n\"},a.ordered_list_open=function(e,t){var r=e[t],n=r.order>1?' start=\"'+r.order+'\"':\"\";return\"<ol\"+n+\">\\n\"},a.ordered_list_close=function(e,t){return\"</ol>\"+c(e,t)},a.paragraph_open=function(e,t){return e[t].tight?\"\":\"<p>\"},a.paragraph_close=function(e,t){var r=!(e[t].tight&&t&&\"inline\"===e[t-1].type&&!e[t-1].content);return(e[t].tight?\"\":\"</p>\")+(r?c(e,t):\"\")},a.link_open=function(e,t,r){var n=e[t].title?' title=\"'+l(i(e[t].title))+'\"':\"\",s=r.linkTarget?' target=\"'+r.linkTarget+'\"':\"\";return'<a href=\"'+l(e[t].href)+'\"'+n+s+\">\"},a.link_close=function(){return\"</a>\"},a.image=function(e,t,r){var n=' src=\"'+l(e[t].src)+'\"',s=e[t].title?' title=\"'+l(i(e[t].title))+'\"':\"\",o=' alt=\"'+(e[t].alt?l(i(e[t].alt)):\"\")+'\"',a=r.xhtmlOut?\" /\":\"\";return\"<img\"+n+o+s+a+\">\"},a.table_open=function(){return\"<table>\\n\"},a.table_close=function(){return\"</table>\\n\"},a.thead_open=function(){return\"<thead>\\n\"},a.thead_close=function(){return\"</thead>\\n\"},a.tbody_open=function(){return\"<tbody>\\n\"},a.tbody_close=function(){return\"</tbody>\\n\"},a.tr_open=function(){return\"<tr>\"},a.tr_close=function(){return\"</tr>\\n\"},a.th_open=function(e,t){var r=e[t];return\"<th\"+(r.align?' style=\"text-align:'+r.align+'\"':\"\")+\">\"},a.th_close=function(){return\"</th>\"},a.td_open=function(e,t){var r=e[t];return\"<td\"+(r.align?' style=\"text-align:'+r.align+'\"':\"\")+\">\"},a.td_close=function(){return\"</td>\"},a.strong_open=function(){return\"<strong>\"},a.strong_close=function(){return\"</strong>\"},a.em_open=function(){return\"<em>\"},a.em_close=function(){return\"</em>\"},a.del_open=function(){return\"<del>\"},a.del_close=function(){return\"</del>\"},a.ins_open=function(){return\"<ins>\"},a.ins_close=function(){return\"</ins>\"},a.mark_open=function(){return\"<mark>\"},a.mark_close=function(){return\"</mark>\"},a.sub=function(e,t){return\"<sub>\"+l(e[t].content)+\"</sub>\"},a.sup=function(e,t){return\"<sup>\"+l(e[t].content)+\"</sup>\"},a.hardbreak=function(e,t,r){return r.xhtmlOut?\"<br />\\n\":\"<br>\\n\"},a.softbreak=function(e,t,r){return r.breaks?r.xhtmlOut?\"<br />\\n\":\"<br>\\n\":\"\\n\"},a.text=function(e,t){return l(e[t].content)},a.htmlblock=function(e,t){return e[t].content},a.htmltag=function(e,t){return e[t].content},a.abbr_open=function(e,t){return'<abbr title=\"'+l(i(e[t].title))+'\">'},a.abbr_close=function(){return\"</abbr>\"},a.footnote_ref=function(e,t){var r=Number(e[t].id+1).toString(),n=\"fnref\"+r;return e[t].subId>0&&(n+=\":\"+e[t].subId),'<sup class=\"footnote-ref\"><a href=\"#fn'+r+'\" id=\"'+n+'\">['+r+\"]</a></sup>\"},a.footnote_block_open=function(e,t,r){var n=r.xhtmlOut?'<hr class=\"footnotes-sep\" />\\n':'<hr class=\"footnotes-sep\">\\n';return n+'<section class=\"footnotes\">\\n<ol class=\"footnotes-list\">\\n'},a.footnote_block_close=function(){return\"</ol>\\n</section>\\n\"},a.footnote_open=function(e,t){var r=Number(e[t].id+1).toString();return'<li id=\"fn'+r+'\"  class=\"footnote-item\">'},a.footnote_close=function(){return\"</li>\\n\"},a.footnote_anchor=function(e,t){var r=Number(e[t].id+1).toString(),n=\"fnref\"+r;return e[t].subId>0&&(n+=\":\"+e[t].subId),' <a href=\"#'+n+'\" class=\"footnote-backref\">↩</a>'},a.dl_open=function(){return\"<dl>\\n\"},a.dt_open=function(){return\"<dt>\"},a.dd_open=function(){return\"<dd>\"},a.dl_close=function(){return\"</dl>\\n\"},a.dt_close=function(){return\"</dt>\\n\"},a.dd_close=function(){return\"</dd>\\n\"};var c=a.getBreak=function(e,t){return t=n(e,t),t<e.length&&\"list_item_close\"===e[t].type?\"\":\"\\n\"};t.exports=a},{\"./common/utils\":5}],21:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){var s,o,i,l,a,c,u,p,h,f,d,g=e.bMarks[t]+e.tShift[t],m=e.eMarks[t];if(g>m)return!1;if(62!==e.src.charCodeAt(g++))return!1;if(e.level>=e.options.maxNesting)return!1;if(n)return!0;for(32===e.src.charCodeAt(g)&&g++,a=e.blkIndent,e.blkIndent=0,l=[e.bMarks[t]],e.bMarks[t]=g,g=m>g?e.skipSpaces(g):g,o=g>=m,i=[e.tShift[t]],e.tShift[t]=g-e.bMarks[t],p=e.parser.ruler.getRules(\"blockquote\"),s=t+1;r>s&&(g=e.bMarks[s]+e.tShift[s],m=e.eMarks[s],!(g>=m));s++)if(62!==e.src.charCodeAt(g++)){if(o)break;for(d=!1,h=0,f=p.length;f>h;h++)if(p[h](e,s,r,!0)){d=!0;break}if(d)break;l.push(e.bMarks[s]),i.push(e.tShift[s]),e.tShift[s]=-1337}else 32===e.src.charCodeAt(g)&&g++,l.push(e.bMarks[s]),e.bMarks[s]=g,g=m>g?e.skipSpaces(g):g,o=g>=m,i.push(e.tShift[s]),e.tShift[s]=g-e.bMarks[s];for(c=e.parentType,e.parentType=\"blockquote\",e.tokens.push({type:\"blockquote_open\",lines:u=[t,0],level:e.level++}),e.parser.tokenize(e,t,s),e.tokens.push({type:\"blockquote_close\",level:--e.level}),e.parentType=c,u[1]=e.line,h=0;h<i.length;h++)e.bMarks[h+t]=l[h],e.tShift[h+t]=i[h];return e.blkIndent=a,!0}},{}],22:[function(e,t,r){\"use strict\";t.exports=function(e,t,r){var n,s;if(e.tShift[t]-e.blkIndent<4)return!1;for(s=n=t+1;r>n;)if(e.isEmpty(n))n++;else{if(!(e.tShift[n]-e.blkIndent>=4))break;n++,s=n}return e.line=n,e.tokens.push({type:\"code\",content:e.getLines(t,s,4+e.blkIndent,!0),block:!0,lines:[t,e.line],level:e.level}),!0}},{}],23:[function(e,t,r){\"use strict\";function n(e,t){var r,n,s=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];return s>=o?-1:(n=e.src.charCodeAt(s++),126!==n&&58!==n?-1:(r=e.skipSpaces(s),s===r?-1:r>=o?-1:r))}function s(e,t){var r,n,s=e.level+2;for(r=t+2,n=e.tokens.length-2;n>r;r++)e.tokens[r].level===s&&\"paragraph_open\"===e.tokens[r].type&&(e.tokens[r+2].tight=!0,e.tokens[r].tight=!0,r+=2)}t.exports=function(e,t,r,o){var i,l,a,c,u,p,h,f,d,g,m,b,v,k;if(o)return e.ddIndent<0?!1:n(e,t)>=0;if(h=t+1,e.isEmpty(h)&&++h>r)return!1;if(e.tShift[h]<e.blkIndent)return!1;if(i=n(e,h),0>i)return!1;if(e.level>=e.options.maxNesting)return!1;p=e.tokens.length,e.tokens.push({type:\"dl_open\",lines:u=[t,0],level:e.level++}),a=t,l=h;e:for(;;){for(k=!0,v=!1,e.tokens.push({type:\"dt_open\",lines:[a,a],level:e.level++}),e.tokens.push({type:\"inline\",content:e.getLines(a,a+1,e.blkIndent,!1).trim(),level:e.level+1,lines:[a,a],children:[]}),e.tokens.push({type:\"dt_close\",level:--e.level});;){if(e.tokens.push({type:\"dd_open\",lines:c=[h,0],level:e.level++}),b=e.tight,d=e.ddIndent,f=e.blkIndent,m=e.tShift[l],g=e.parentType,e.blkIndent=e.ddIndent=e.tShift[l]+2,e.tShift[l]=i-e.bMarks[l],e.tight=!0,e.parentType=\"deflist\",e.parser.tokenize(e,l,r,!0),(!e.tight||v)&&(k=!1),v=e.line-l>1&&e.isEmpty(e.line-1),e.tShift[l]=m,e.tight=b,e.parentType=g,e.blkIndent=f,e.ddIndent=d,e.tokens.push({type:\"dd_close\",level:--e.level}),c[1]=h=e.line,h>=r)break e;if(e.tShift[h]<e.blkIndent)break e;if(i=n(e,h),0>i)break;l=h}if(h>=r)break;if(a=h,e.isEmpty(a))break;if(e.tShift[a]<e.blkIndent)break;if(l=a+1,l>=r)break;if(e.isEmpty(l)&&l++,l>=r)break;if(e.tShift[l]<e.blkIndent)break;if(i=n(e,l),0>i)break}return e.tokens.push({type:\"dl_close\",level:--e.level}),u[1]=h,e.line=h,k&&s(e,p),!0}},{}],24:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){var s,o,i,l,a,c=!1,u=e.bMarks[t]+e.tShift[t],p=e.eMarks[t];if(u+3>p)return!1;if(s=e.src.charCodeAt(u),126!==s&&96!==s)return!1;if(a=u,u=e.skipChars(u,s),o=u-a,3>o)return!1;if(i=e.src.slice(u,p).trim(),i.indexOf(\"`\")>=0)return!1;if(n)return!0;for(l=t;(l++,!(l>=r))&&(u=a=e.bMarks[l]+e.tShift[l],p=e.eMarks[l],!(p>u&&e.tShift[l]<e.blkIndent));)if(e.src.charCodeAt(u)===s&&!(e.tShift[l]-e.blkIndent>=4||(u=e.skipChars(u,s),o>u-a||(u=e.skipSpaces(u),p>u)))){c=!0;break}return o=e.tShift[t],e.line=l+(c?1:0),e.tokens.push({type:\"fence\",params:i,content:e.getLines(t+1,l,o,!0),lines:[t,e.line],level:e.level}),!0}},{}],25:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){var s,o,i,l,a,c=e.bMarks[t]+e.tShift[t],u=e.eMarks[t];if(c+4>u)return!1;if(91!==e.src.charCodeAt(c))return!1;if(94!==e.src.charCodeAt(c+1))return!1;if(e.level>=e.options.maxNesting)return!1;for(l=c+2;u>l;l++){if(32===e.src.charCodeAt(l))return!1;if(93===e.src.charCodeAt(l))break}return l===c+2?!1:l+1>=u||58!==e.src.charCodeAt(++l)?!1:n?!0:(l++,e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.refs||(e.env.footnotes.refs={}),a=e.src.slice(c+2,l-2),e.env.footnotes.refs[\":\"+a]=-1,e.tokens.push({type:\"footnote_reference_open\",label:a,level:e.level++}),s=e.bMarks[t],o=e.tShift[t],i=e.parentType,e.tShift[t]=e.skipSpaces(l)-l,e.bMarks[t]=l,e.blkIndent+=4,e.parentType=\"footnote\",e.tShift[t]<e.blkIndent&&(e.tShift[t]+=e.blkIndent,e.bMarks[t]-=e.blkIndent),e.parser.tokenize(e,t,r,!0),e.parentType=i,e.blkIndent-=4,e.tShift[t]=o,e.bMarks[t]=s,e.tokens.push({type:\"footnote_reference_close\",level:--e.level}),!0)}},{}],26:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){var s,o,i,l=e.bMarks[t]+e.tShift[t],a=e.eMarks[t];if(l>=a)return!1;if(s=e.src.charCodeAt(l),35!==s||l>=a)return!1;for(o=1,s=e.src.charCodeAt(++l);35===s&&a>l&&6>=o;)o++,s=e.src.charCodeAt(++l);return o>6||a>l&&32!==s?!1:n?!0:(a=e.skipCharsBack(a,32,l),i=e.skipCharsBack(a,35,l),i>l&&32===e.src.charCodeAt(i-1)&&(a=i),e.line=t+1,e.tokens.push({type:\"heading_open\",hLevel:o,lines:[t,e.line],level:e.level}),a>l&&e.tokens.push({type:\"inline\",content:e.src.slice(l,a).trim(),level:e.level+1,lines:[t,e.line],children:[]}),e.tokens.push({type:\"heading_close\",hLevel:o,level:e.level}),!0)}},{}],27:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){var s,o,i,l=e.bMarks[t],a=e.eMarks[t];if(l+=e.tShift[t],l>a)return!1;if(s=e.src.charCodeAt(l++),42!==s&&45!==s&&95!==s)return!1;for(o=1;a>l;){if(i=e.src.charCodeAt(l++),i!==s&&32!==i)return!1;i===s&&o++}return 3>o?!1:n?!0:(e.line=t+1,e.tokens.push({type:\"hr\",lines:[t,e.line],level:e.level}),!0)}},{}],28:[function(e,t,r){\"use strict\";function n(e){var t=32|e;return t>=97&&122>=t}var s=e(\"../common/html_blocks\"),o=/^<([a-zA-Z]{1,15})[\\s\\/>]/,i=/^<\\/([a-zA-Z]{1,15})[\\s>]/;t.exports=function(e,t,r,l){var a,c,u,p=e.bMarks[t],h=e.eMarks[t],f=e.tShift[t];if(p+=f,!e.options.html)return!1;if(f>3||p+2>=h)return!1;if(60!==e.src.charCodeAt(p))return!1;if(a=e.src.charCodeAt(p+1),33===a||63===a){if(l)return!0}else{if(47!==a&&!n(a))return!1;if(47===a){if(c=e.src.slice(p,h).match(i),!c)return!1}else if(c=e.src.slice(p,h).match(o),!c)return!1;if(s[c[1].toLowerCase()]!==!0)return!1;if(l)return!0}for(u=t+1;u<e.lineMax&&!e.isEmpty(u);)u++;return e.line=u,e.tokens.push({type:\"htmlblock\",level:e.level,lines:[t,e.line],content:e.getLines(t,u,0,!0)}),!0}},{\"../common/html_blocks\":2}],29:[function(e,t,r){\"use strict\";t.exports=function(e,t,r){var n,s,o,i=t+1;return i>=r?!1:e.tShift[i]<e.blkIndent?!1:e.tShift[i]-e.blkIndent>3?!1:(s=e.bMarks[i]+e.tShift[i],o=e.eMarks[i],s>=o?!1:(n=e.src.charCodeAt(s),45!==n&&61!==n?!1:(s=e.skipChars(s,n),s=e.skipSpaces(s),o>s?!1:(s=e.bMarks[t]+e.tShift[t],e.line=i+1,e.tokens.push({type:\"heading_open\",hLevel:61===n?1:2,lines:[t,e.line],level:e.level}),e.tokens.push({type:\"inline\",content:e.src.slice(s,e.eMarks[t]).trim(),level:e.level+1,lines:[t,e.line-1],children:[]}),e.tokens.push({type:\"heading_close\",hLevel:61===n?1:2,level:e.level}),!0))))}},{}],30:[function(e,t,r){\"use strict\";function n(e,t){var r,n,s;return n=e.bMarks[t]+e.tShift[t],s=e.eMarks[t],n>=s?-1:(r=e.src.charCodeAt(n++),42!==r&&45!==r&&43!==r?-1:s>n&&32!==e.src.charCodeAt(n)?-1:n)}function s(e,t){var r,n=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(n+1>=s)return-1;if(r=e.src.charCodeAt(n++),48>r||r>57)return-1;for(;;){if(n>=s)return-1;if(r=e.src.charCodeAt(n++),!(r>=48&&57>=r)){if(41===r||46===r)break;return-1}}return s>n&&32!==e.src.charCodeAt(n)?-1:n}function o(e,t){var r,n,s=e.level+2;for(r=t+2,n=e.tokens.length-2;n>r;r++)e.tokens[r].level===s&&\"paragraph_open\"===e.tokens[r].type&&(e.tokens[r+2].tight=!0,e.tokens[r].tight=!0,r+=2)}t.exports=function(e,t,r,i){var l,a,c,u,p,h,f,d,g,m,b,v,k,_,y,x,w,A,q,C,S,E,M=!0;if((d=s(e,t))>=0)k=!0;else{if(!((d=n(e,t))>=0))return!1;k=!1}if(e.level>=e.options.maxNesting)return!1;if(v=e.src.charCodeAt(d-1),i)return!0;for(y=e.tokens.length,k?(f=e.bMarks[t]+e.tShift[t],b=Number(e.src.substr(f,d-f-1)),e.tokens.push({type:\"ordered_list_open\",order:b,lines:w=[t,0],level:e.level++})):e.tokens.push({type:\"bullet_list_open\",lines:w=[t,0],level:e.level++}),l=t,x=!1,q=e.parser.ruler.getRules(\"list\");!(!(r>l)||(_=e.skipSpaces(d),g=e.eMarks[l],m=_>=g?1:_-d,m>4&&(m=1),1>m&&(m=1),a=d-e.bMarks[l]+m,e.tokens.push({type:\"list_item_open\",lines:A=[t,0],level:e.level++}),u=e.blkIndent,p=e.tight,c=e.tShift[t],h=e.parentType,e.tShift[t]=_-e.bMarks[t],e.blkIndent=a,e.tight=!0,e.parentType=\"list\",e.parser.tokenize(e,t,r,!0),(!e.tight||x)&&(M=!1),x=e.line-t>1&&e.isEmpty(e.line-1),e.blkIndent=u,e.tShift[t]=c,e.tight=p,e.parentType=h,e.tokens.push({type:\"list_item_close\",level:--e.level}),l=t=e.line,A[1]=l,_=e.bMarks[t],l>=r)||e.isEmpty(l)||e.tShift[l]<e.blkIndent);){for(E=!1,C=0,S=q.length;S>C;C++)if(q[C](e,l,r,!0)){E=!0;break}if(E)break;if(k){if(d=s(e,l),0>d)break}else if(d=n(e,l),0>d)break;if(v!==e.src.charCodeAt(d-1))break}return e.tokens.push({type:k?\"ordered_list_close\":\"bullet_list_close\",level:--e.level}),w[1]=l,e.line=l,M&&o(e,y),!0}},{}],31:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,s,o,i,l,a=t+1;if(r=e.lineMax,r>a&&!e.isEmpty(a))for(l=e.parser.ruler.getRules(\"paragraph\");r>a&&!e.isEmpty(a);a++)if(!(e.tShift[a]-e.blkIndent>3)){for(s=!1,o=0,i=l.length;i>o;o++)if(l[o](e,a,r,!0)){s=!0;break}if(s)break}return n=e.getLines(t,a,e.blkIndent,!1).trim(),e.line=a,n.length&&(e.tokens.push({type:\"paragraph_open\",tight:!1,lines:[t,e.line],level:e.level}),e.tokens.push({type:\"inline\",content:n,level:e.level+1,lines:[t,e.line],children:[]}),e.tokens.push({type:\"paragraph_close\",tight:!1,level:e.level})),!0}},{}],32:[function(e,t,r){\"use strict\";function n(e,t,r,n,s){var o,i,l,a,c,u,p;for(this.src=e,this.parser=t,this.options=r,this.env=n,this.tokens=s,this.bMarks=[],this.eMarks=[],this.tShift=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.parentType=\"root\",this.ddIndent=-1,this.level=0,this.result=\"\",i=this.src,u=0,p=!1,l=a=u=0,c=i.length;c>a;a++){if(o=i.charCodeAt(a),!p){if(32===o){u++;continue}p=!0}(10===o||a===c-1)&&(10!==o&&a++,this.bMarks.push(l),this.eMarks.push(a),this.tShift.push(u),p=!1,u=0,l=a+1)}this.bMarks.push(i.length),this.eMarks.push(i.length),this.tShift.push(0),this.lineMax=this.bMarks.length-1}n.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},n.prototype.skipEmptyLines=function(e){for(var t=this.lineMax;t>e&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e},n.prototype.skipSpaces=function(e){for(var t=this.src.length;t>e&&32===this.src.charCodeAt(e);e++);return e},n.prototype.skipChars=function(e,t){for(var r=this.src.length;r>e&&this.src.charCodeAt(e)===t;e++);return e},n.prototype.skipCharsBack=function(e,t,r){if(r>=e)return e;for(;e>r;)if(t!==this.src.charCodeAt(--e))return e+1;return e},n.prototype.getLines=function(e,t,r,n){var s,o,i,l,a,c=e;if(e>=t)return\"\";if(c+1===t)return o=this.bMarks[c]+Math.min(this.tShift[c],r),i=n?this.eMarks[c]+1:this.eMarks[c],this.src.slice(o,i);for(l=new Array(t-e),s=0;t>c;c++,s++)a=this.tShift[c],a>r&&(a=r),0>a&&(a=0),o=this.bMarks[c]+a,i=t>c+1||n?this.eMarks[c]+1:this.eMarks[c],l[s]=this.src.slice(o,i);return l.join(\"\")},t.exports=n},{}],33:[function(e,t,r){\"use strict\";function n(e,t){var r=e.bMarks[t]+e.blkIndent,n=e.eMarks[t];return e.src.substr(r,n-r)}t.exports=function(e,t,r,s){var o,i,l,a,c,u,p,h,f,d;if(t+2>r)return!1;if(c=t+1,e.tShift[c]<e.blkIndent)return!1;if(l=e.bMarks[c]+e.tShift[c],l>=e.eMarks[c])return!1;if(o=e.src.charCodeAt(l),124!==o&&45!==o&&58!==o)return!1;if(i=n(e,t+1),!/^[-:| ]+$/.test(i))return!1;if(u=i.split(\"|\"),2>=u)return!1;for(p=[],a=0;a<u.length;a++){if(h=u[a].trim(),!h){if(0===a||a===u.length-1)continue;return!1}if(!/^:?-+:?$/.test(h))return!1;58===h.charCodeAt(h.length-1)?p.push(58===h.charCodeAt(0)?\"center\":\"right\"):58===h.charCodeAt(0)?p.push(\"left\"):p.push(\"\")}if(i=n(e,t).trim(),-1===i.indexOf(\"|\"))return!1;if(u=i.replace(/^\\||\\|$/g,\"\").split(\"|\"),p.length!==u.length)return!1;if(s)return!0;for(e.tokens.push({type:\"table_open\",lines:f=[t,0],level:e.level++}),e.tokens.push({type:\"thead_open\",lines:[t,t+1],level:e.level++}),e.tokens.push({type:\"tr_open\",lines:[t,t+1],level:e.level++}),a=0;a<u.length;a++)e.tokens.push({type:\"th_open\",align:p[a],lines:[t,t+1],level:e.level++}),e.tokens.push({type:\"inline\",content:u[a].trim(),lines:[t,t+1],level:e.level,children:[]}),e.tokens.push({type:\"th_close\",level:--e.level});for(e.tokens.push({type:\"tr_close\",level:--e.level}),e.tokens.push({type:\"thead_close\",level:--e.level}),e.tokens.push({type:\"tbody_open\",lines:d=[t+2,0],level:e.level++}),c=t+2;r>c&&!(e.tShift[c]<e.blkIndent)&&(i=n(e,c).trim(),-1!==i.indexOf(\"|\"));c++){for(u=i.replace(/^\\||\\|$/g,\"\").split(\"|\"),e.tokens.push({type:\"tr_open\",level:e.level++}),a=0;a<u.length;a++)e.tokens.push({type:\"td_open\",align:p[a],level:e.level++}),e.tokens.push({type:\"inline\",content:u[a].replace(/^\\|? *| *\\|?$/g,\"\"),level:e.level,children:[]}),e.tokens.push({type:\"td_close\",level:--e.level});e.tokens.push({type:\"tr_close\",level:--e.level})}return e.tokens.push({type:\"tbody_close\",level:--e.level}),e.tokens.push({type:\"table_close\",level:--e.level}),f[1]=d[1]=c,e.line=c,!0}},{}],34:[function(e,t,r){\"use strict\";function n(e,t,r,n){var i,l,a,c,u,p;if(42!==e.charCodeAt(0))return-1;if(91!==e.charCodeAt(1))return-1;if(-1===e.indexOf(\"]:\"))return-1;if(i=new s(e,t,r,n,[]),l=o(i,1),0>l||58!==e.charCodeAt(l+1))return-1;for(c=i.posMax,a=l+2;c>a&&10!==i.src.charCodeAt(a);a++);return u=e.slice(2,l),p=e.slice(l+2,a).trim(),0===p.length?-1:(n.abbreviations||(n.abbreviations={}),\"undefined\"==typeof n.abbreviations[\":\"+u]&&(n.abbreviations[\":\"+u]=p),a)}var s=e(\"../rules_inline/state_inline\"),o=e(\"../helpers/parse_link_label\");t.exports=function(e){var t,r,s,o,i=e.tokens;if(!e.inlineMode)for(t=1,r=i.length-1;r>t;t++)if(\"paragraph_open\"===i[t-1].type&&\"inline\"===i[t].type&&\"paragraph_close\"===i[t+1].type){for(s=i[t].content;s.length&&(o=n(s,e.inline,e.options,e.env),!(0>o));)s=s.slice(o).trim();i[t].content=s,s.length||(i[t-1].tight=!0,i[t+1].tight=!0)}}},{\"../helpers/parse_link_label\":12,\"../rules_inline/state_inline\":56}],35:[function(e,t,r){\"use strict\";function n(e){return e.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g,\"\\\\$1\")}var s=\" \\n()[]'\\\".,!?-\";t.exports=function(e){var t,r,o,i,l,a,c,u,p,h,f,d,g=e.tokens;if(e.env.abbreviations)for(e.env.abbrRegExp||(d=\"(^|[\"+s.split(\"\").map(n).join(\"\")+\"])(\"+Object.keys(e.env.abbreviations).map(function(e){return e.substr(1)}).sort(function(e,t){return t.length-e.length}).map(n).join(\"|\")+\")($|[\"+s.split(\"\").map(n).join(\"\")+\"])\",e.env.abbrRegExp=new RegExp(d,\"g\")),h=e.env.abbrRegExp,r=0,o=g.length;o>r;r++)if(\"inline\"===g[r].type)for(i=g[r].children,t=i.length-1;t>=0;t--)if(l=i[t],\"text\"===l.type){for(u=0,a=l.content,h.lastIndex=0,p=l.level,c=[];f=h.exec(a);)h.lastIndex>u&&c.push({type:\"text\",content:a.slice(u,f.index+f[1].length),level:p}),c.push({type:\"abbr_open\",title:e.env.abbreviations[\":\"+f[2]],level:p++}),c.push({type:\"text\",content:f[2],level:p}),c.push({type:\"abbr_close\",level:--p}),u=h.lastIndex-f[3].length;c.length&&(u<a.length&&c.push({type:\"text\",content:a.slice(u),level:p}),g[r].children=i=[].concat(i.slice(0,t),c,i.slice(t+1)))}}},{}],36:[function(e,t,r){\"use strict\";t.exports=function(e){e.inlineMode?e.tokens.push({type:\"inline\",content:e.src.replace(/\\n/g,\" \").trim(),level:0,lines:[0,1],children:[]}):e.block.parse(e.src,e.options,e.env,e.tokens)}},{}],37:[function(e,t,r){\"use strict\";t.exports=function(e){var t,r,n,s,o,i,l,a,c,u=0,p=!1,h={};if(e.env.footnotes&&(e.tokens=e.tokens.filter(function(e){return\"footnote_reference_open\"===e.type?(p=!0,a=[],c=e.label,!1):\"footnote_reference_close\"===e.type?(p=!1,h[\":\"+c]=a,!1):(p&&a.push(e),!p)}),e.env.footnotes.list)){for(i=e.env.footnotes.list,e.tokens.push({type:\"footnote_block_open\",level:u++}),t=0,r=i.length;r>t;t++){for(e.tokens.push({type:\"footnote_open\",id:t,level:u++}),i[t].tokens?(l=[],l.push({type:\"paragraph_open\",tight:!1,level:u++}),l.push({type:\"inline\",content:\"\",level:u,children:i[t].tokens}),l.push({type:\"paragraph_close\",tight:!1,level:--u})):i[t].label&&(l=h[\":\"+i[t].label]),e.tokens=e.tokens.concat(l),o=\"paragraph_close\"===e.tokens[e.tokens.length-1].type?e.tokens.pop():null,s=i[t].count>0?i[t].count:1,n=0;s>n;n++)e.tokens.push({type:\"footnote_anchor\",id:t,subId:n,level:u});o&&e.tokens.push(o),e.tokens.push({type:\"footnote_close\",level:--u})}e.tokens.push({type:\"footnote_block_close\",level:--u})}}},{}],38:[function(e,t,r){\"use strict\";t.exports=function(e){var t,r,n,s=e.tokens;for(r=0,n=s.length;n>r;r++)t=s[r],\"inline\"===t.type&&e.inline.parse(t.content,e.options,e.env,t.children)}},{}],39:[function(e,t,r){\"use strict\";function n(e){return/^<a[>\\s]/i.test(e)}function s(e){return/^<\\/a\\s*>/i.test(e)}function o(){var e=[],t=new i({stripPrefix:!1,url:!0,email:!0,twitter:!1,replaceFn:function(t,r){switch(r.getType()){case\"url\":e.push({text:r.matchedText,url:r.getUrl()});break;case\"email\":e.push({text:r.matchedText,url:\"mailto:\"+r.getEmail().replace(/^mailto:/i,\"\")})}return!1}});return{links:e,autolinker:t}}var i=e(\"autolinker\"),l=/www|@|\\:\\/\\//;t.exports=function(e){var t,r,i,a,c,u,p,h,f,d,g,m,b,v=e.tokens,k=null;if(e.options.linkify)for(r=0,i=v.length;i>r;r++)if(\"inline\"===v[r].type)for(a=v[r].children,\ng=0,t=a.length-1;t>=0;t--)if(c=a[t],\"link_close\"!==c.type){if(\"htmltag\"===c.type&&(n(c.content)&&g>0&&g--,s(c.content)&&g++),!(g>0)&&\"text\"===c.type&&l.test(c.content)){if(k||(k=o(),m=k.links,b=k.autolinker),u=c.content,m.length=0,b.link(u),!m.length)continue;for(p=[],d=c.level,h=0;h<m.length;h++)e.inline.validateLink(m[h].url)&&(f=u.indexOf(m[h].text),f&&(d=d,p.push({type:\"text\",content:u.slice(0,f),level:d})),p.push({type:\"link_open\",href:m[h].url,title:\"\",level:d++}),p.push({type:\"text\",content:m[h].text,level:d}),p.push({type:\"link_close\",level:--d}),u=u.slice(f+m[h].text.length));u.length&&p.push({type:\"text\",content:u,level:d}),v[r].children=a=[].concat(a.slice(0,t),p,a.slice(t+1))}}else for(t--;a[t].level!==c.level&&\"link_open\"!==a[t].type;)t--}},{autolinker:60}],40:[function(e,t,r){\"use strict\";function n(e,t,r,n){var c,u,p,h,f,d,g,m,b;if(91!==e.charCodeAt(0))return-1;if(-1===e.indexOf(\"]:\"))return-1;if(c=new s(e,t,r,n,[]),u=o(c,0),0>u||58!==e.charCodeAt(u+1))return-1;for(h=c.posMax,p=u+2;h>p&&(f=c.src.charCodeAt(p),32===f||10===f);p++);if(!i(c,p))return-1;for(g=c.linkContent,p=c.pos,d=p,p+=1;h>p&&(f=c.src.charCodeAt(p),32===f||10===f);p++);for(h>p&&d!==p&&l(c,p)?(m=c.linkContent,p=c.pos):(m=\"\",p=d);h>p&&32===c.src.charCodeAt(p);)p++;return h>p&&10!==c.src.charCodeAt(p)?-1:(b=a(e.slice(1,u)),\"undefined\"==typeof n.references[b]&&(n.references[b]={title:m,href:g}),p)}var s=e(\"../rules_inline/state_inline\"),o=e(\"../helpers/parse_link_label\"),i=e(\"../helpers/parse_link_destination\"),l=e(\"../helpers/parse_link_title\"),a=e(\"../helpers/normalize_reference\");t.exports=function(e){var t,r,s,o,i=e.tokens;if(e.env.references=e.env.references||{},!e.inlineMode)for(t=1,r=i.length-1;r>t;t++)if(\"inline\"===i[t].type&&\"paragraph_open\"===i[t-1].type&&\"paragraph_close\"===i[t+1].type){for(s=i[t].content;s.length&&(o=n(s,e.inline,e.options,e.env),!(0>o));)s=s.slice(o).trim();i[t].content=s,s.length||(i[t-1].tight=!0,i[t+1].tight=!0)}}},{\"../helpers/normalize_reference\":10,\"../helpers/parse_link_destination\":11,\"../helpers/parse_link_label\":12,\"../helpers/parse_link_title\":13,\"../rules_inline/state_inline\":56}],41:[function(e,t,r){\"use strict\";function n(e){return e.indexOf(\"(\")<0?e:e.replace(o,function(e,t){return i[t.toLowerCase()]})}var s=/\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,o=/\\((c|tm|r|p)\\)/gi,i={c:\"©\",r:\"®\",p:\"§\",tm:\"™\"};t.exports=function(e){var t,r,o,i,l;if(e.options.typographer)for(l=e.tokens.length-1;l>=0;l--)if(\"inline\"===e.tokens[l].type)for(i=e.tokens[l].children,t=i.length-1;t>=0;t--)r=i[t],\"text\"===r.type&&(o=r.content,o=n(o),s.test(o)&&(o=o.replace(/\\+-/g,\"±\").replace(/\\.{2,}/g,\"…\").replace(/([?!])…/g,\"$1..\").replace(/([?!]){4,}/g,\"$1$1$1\").replace(/,{2,}/g,\",\").replace(/(^|[^-])---([^-]|$)/gm,\"$1—$2\").replace(/(^|\\s)--(\\s|$)/gm,\"$1–$2\").replace(/(^|[^-\\s])--([^-\\s]|$)/gm,\"$1–$2\")),r.content=o)}},{}],42:[function(e,t,r){\"use strict\";function n(e,t){return 0>t||t>=e.length?!1:!l.test(e[t])}function s(e,t,r){return e.substr(0,t)+r+e.substr(t+1)}var o=/['\"]/,i=/['\"]/g,l=/[-\\s()\\[\\]]/,a=\"’\";t.exports=function(e){var t,r,l,c,u,p,h,f,d,g,m,b,v,k,_,y,x;if(e.options.typographer)for(x=[],_=e.tokens.length-1;_>=0;_--)if(\"inline\"===e.tokens[_].type)for(y=e.tokens[_].children,x.length=0,t=0;t<y.length;t++)if(r=y[t],\"text\"===r.type&&!o.test(r.text)){for(h=y[t].level,v=x.length-1;v>=0&&!(x[v].level<=h);v--);x.length=v+1,l=r.content,u=0,p=l.length;e:for(;p>u&&(i.lastIndex=u,c=i.exec(l));)if(f=!n(l,c.index-1),u=c.index+1,k=\"'\"===c[0],d=!n(l,u),d||f){if(m=!d,b=!f)for(v=x.length-1;v>=0&&(g=x[v],!(x[v].level<h));v--)if(g.single===k&&x[v].level===h){g=x[v],k?(y[g.token].content=s(y[g.token].content,g.pos,e.options.quotes[2]),r.content=s(r.content,c.index,e.options.quotes[3])):(y[g.token].content=s(y[g.token].content,g.pos,e.options.quotes[0]),r.content=s(r.content,c.index,e.options.quotes[1])),x.length=v;continue e}m?x.push({token:t,pos:c.index,single:k,level:h}):b&&k&&(r.content=s(r.content,c.index,a))}else k&&(r.content=s(r.content,c.index,a))}}},{}],43:[function(e,t,r){\"use strict\";var n=e(\"../common/url_schemas\"),s=e(\"../helpers/normalize_link\"),o=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,i=/^<([a-zA-Z.\\-]{1,25}):([^<>\\x00-\\x20]*)>/;t.exports=function(e,t){var r,l,a,c,u,p=e.pos;return 60!==e.src.charCodeAt(p)?!1:(r=e.src.slice(p),r.indexOf(\">\")<0?!1:(l=r.match(i))?n.indexOf(l[1].toLowerCase())<0?!1:(c=l[0].slice(1,-1),u=s(c),e.parser.validateLink(c)?(t||(e.push({type:\"link_open\",href:u,level:e.level}),e.push({type:\"text\",content:c,level:e.level+1}),e.push({type:\"link_close\",level:e.level})),e.pos+=l[0].length,!0):!1):(a=r.match(o),a?(c=a[0].slice(1,-1),u=s(\"mailto:\"+c),e.parser.validateLink(u)?(t||(e.push({type:\"link_open\",href:u,level:e.level}),e.push({type:\"text\",content:c,level:e.level+1}),e.push({type:\"link_close\",level:e.level})),e.pos+=a[0].length,!0):!1):!1))}},{\"../common/url_schemas\":4,\"../helpers/normalize_link\":9}],44:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,s,o,i,l=e.pos,a=e.src.charCodeAt(l);if(96!==a)return!1;for(r=l,l++,n=e.posMax;n>l&&96===e.src.charCodeAt(l);)l++;for(s=e.src.slice(r,l),o=i=l;-1!==(o=e.src.indexOf(\"`\",i));){for(i=o+1;n>i&&96===e.src.charCodeAt(i);)i++;if(i-o===s.length)return t||e.push({type:\"code\",content:e.src.slice(l,o).replace(/[ \\n]+/g,\" \").trim(),block:!1,level:e.level}),e.pos=i,!0}return t||(e.pending+=s),e.pos+=s.length,!0}},{}],45:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,s,o,i,l=e.posMax,a=e.pos;if(126!==e.src.charCodeAt(a))return!1;if(t)return!1;if(a+4>=l)return!1;if(126!==e.src.charCodeAt(a+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(o=a>0?e.src.charCodeAt(a-1):-1,i=e.src.charCodeAt(a+2),126===o)return!1;if(126===i)return!1;if(32===i||10===i)return!1;for(n=a+2;l>n&&126===e.src.charCodeAt(n);)n++;if(n>a+3)return e.pos+=n-a,t||(e.pending+=e.src.slice(a,n)),!0;for(e.pos=a+2,s=1;e.pos+1<l;){if(126===e.src.charCodeAt(e.pos)&&126===e.src.charCodeAt(e.pos+1)&&(o=e.src.charCodeAt(e.pos-1),i=e.pos+2<l?e.src.charCodeAt(e.pos+2):-1,126!==i&&126!==o&&(32!==o&&10!==o?s--:32!==i&&10!==i&&s++,0>=s))){r=!0;break}e.parser.skipToken(e)}return r?(e.posMax=e.pos,e.pos=a+2,t||(e.push({type:\"del_open\",level:e.level++}),e.parser.tokenize(e),e.push({type:\"del_close\",level:--e.level})),e.pos=e.posMax+2,e.posMax=l,!0):(e.pos=a,!1)}},{}],46:[function(e,t,r){\"use strict\";function n(e){return e>=48&&57>=e||e>=65&&90>=e||e>=97&&122>=e}function s(e,t){var r,s,o,i=t,l=!0,a=!0,c=e.posMax,u=e.src.charCodeAt(t);for(r=t>0?e.src.charCodeAt(t-1):-1;c>i&&e.src.charCodeAt(i)===u;)i++;return i>=c&&(l=!1),o=i-t,o>=4?l=a=!1:(s=c>i?e.src.charCodeAt(i):-1,(32===s||10===s)&&(l=!1),(32===r||10===r)&&(a=!1),95===u&&(n(r)&&(l=!1),n(s)&&(a=!1))),{can_open:l,can_close:a,delims:o}}t.exports=function(e,t){var r,n,o,i,l,a,c,u=e.posMax,p=e.pos,h=e.src.charCodeAt(p);if(95!==h&&42!==h)return!1;if(t)return!1;if(c=s(e,p),r=c.delims,!c.can_open)return e.pos+=r,t||(e.pending+=e.src.slice(p,e.pos)),!0;if(e.level>=e.options.maxNesting)return!1;for(e.pos=p+r,a=[r];e.pos<u;)if(e.src.charCodeAt(e.pos)!==h)e.parser.skipToken(e);else{if(c=s(e,e.pos),n=c.delims,c.can_close){for(i=a.pop(),l=n;i!==l;){if(i>l){a.push(i-l);break}if(l-=i,0===a.length)break;e.pos+=i,i=a.pop()}if(0===a.length){r=i,o=!0;break}e.pos+=n;continue}c.can_open&&a.push(n),e.pos+=n}return o?(e.posMax=e.pos,e.pos=p+r,t||((2===r||3===r)&&e.push({type:\"strong_open\",level:e.level++}),(1===r||3===r)&&e.push({type:\"em_open\",level:e.level++}),e.parser.tokenize(e),(1===r||3===r)&&e.push({type:\"em_close\",level:--e.level}),(2===r||3===r)&&e.push({type:\"strong_close\",level:--e.level})),e.pos=e.posMax+r,e.posMax=u,!0):(e.pos=p,!1)}},{}],47:[function(e,t,r){\"use strict\";var n=e(\"../common/entities\"),s=e(\"../common/utils\").has,o=e(\"../common/utils\").isValidEntityCode,i=e(\"../common/utils\").fromCodePoint,l=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,a=/^&([a-z][a-z0-9]{1,31});/i;t.exports=function(e,t){var r,c,u,p=e.pos,h=e.posMax;if(38!==e.src.charCodeAt(p))return!1;if(h>p+1)if(r=e.src.charCodeAt(p+1),35===r){if(u=e.src.slice(p).match(l))return t||(c=\"x\"===u[1][0].toLowerCase()?parseInt(u[1].slice(1),16):parseInt(u[1],10),e.pending+=i(o(c)?c:65533)),e.pos+=u[0].length,!0}else if(u=e.src.slice(p).match(a),u&&s(n,u[1]))return t||(e.pending+=n[u[1]]),e.pos+=u[0].length,!0;return t||(e.pending+=\"&\"),e.pos++,!0}},{\"../common/entities\":1,\"../common/utils\":5}],48:[function(e,t,r){\"use strict\";for(var n=[],s=0;256>s;s++)n.push(0);\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach(function(e){n[e.charCodeAt(0)]=1}),t.exports=function(e,t){var r,s=e.pos,o=e.posMax;if(92!==e.src.charCodeAt(s))return!1;if(s++,o>s){if(r=e.src.charCodeAt(s),256>r&&0!==n[r])return t||(e.pending+=e.src[s]),e.pos+=2,!0;if(10===r){for(t||e.push({type:\"hardbreak\",level:e.level}),s++;o>s&&32===e.src.charCodeAt(s);)s++;return e.pos=s,!0}}return t||(e.pending+=\"\\\\\"),e.pos++,!0}},{}],49:[function(e,t,r){\"use strict\";var n=e(\"../helpers/parse_link_label\");t.exports=function(e,t){var r,s,o,i,l=e.posMax,a=e.pos;return a+2>=l?!1:94!==e.src.charCodeAt(a)?!1:91!==e.src.charCodeAt(a+1)?!1:e.level>=e.options.maxNesting?!1:(r=a+2,s=n(e,a+1),0>s?!1:(t||(e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.list||(e.env.footnotes.list=[]),o=e.env.footnotes.list.length,e.pos=r,e.posMax=s,e.push({type:\"footnote_ref\",id:o,level:e.level}),e.linkLevel++,i=e.tokens.length,e.parser.tokenize(e),e.env.footnotes.list[o]={tokens:e.tokens.splice(i)},e.linkLevel--),e.pos=s+1,e.posMax=l,!0))}},{\"../helpers/parse_link_label\":12}],50:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,s,o,i=e.posMax,l=e.pos;if(l+3>i)return!1;if(!e.env.footnotes||!e.env.footnotes.refs)return!1;if(91!==e.src.charCodeAt(l))return!1;if(94!==e.src.charCodeAt(l+1))return!1;if(e.level>=e.options.maxNesting)return!1;for(n=l+2;i>n;n++){if(32===e.src.charCodeAt(n))return!1;if(10===e.src.charCodeAt(n))return!1;if(93===e.src.charCodeAt(n))break}return n===l+2?!1:n>=i?!1:(n++,r=e.src.slice(l+2,n-1),\"undefined\"==typeof e.env.footnotes.refs[\":\"+r]?!1:(t||(e.env.footnotes.list||(e.env.footnotes.list=[]),e.env.footnotes.refs[\":\"+r]<0?(s=e.env.footnotes.list.length,e.env.footnotes.list[s]={label:r,count:0},e.env.footnotes.refs[\":\"+r]=s):s=e.env.footnotes.refs[\":\"+r],o=e.env.footnotes.list[s].count,e.env.footnotes.list[s].count++,e.push({type:\"footnote_ref\",id:s,subId:o,level:e.level})),e.pos=n,e.posMax=i,!0))}},{}],51:[function(e,t,r){\"use strict\";function n(e){var t=32|e;return t>=97&&122>=t}var s=e(\"../common/html_re\").HTML_TAG_RE;t.exports=function(e,t){var r,o,i,l=e.pos;return e.options.html?(i=e.posMax,60!==e.src.charCodeAt(l)||l+2>=i?!1:(r=e.src.charCodeAt(l+1),(33===r||63===r||47===r||n(r))&&(o=e.src.slice(l).match(s))?(t||e.push({type:\"htmltag\",content:e.src.slice(l,l+o[0].length),level:e.level}),e.pos+=o[0].length,!0):!1)):!1}},{\"../common/html_re\":3}],52:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,s,o,i,l=e.posMax,a=e.pos;if(43!==e.src.charCodeAt(a))return!1;if(t)return!1;if(a+4>=l)return!1;if(43!==e.src.charCodeAt(a+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(o=a>0?e.src.charCodeAt(a-1):-1,i=e.src.charCodeAt(a+2),43===o)return!1;if(43===i)return!1;if(32===i||10===i)return!1;for(n=a+2;l>n&&43===e.src.charCodeAt(n);)n++;if(n!==a+2)return e.pos+=n-a,t||(e.pending+=e.src.slice(a,n)),!0;for(e.pos=a+2,s=1;e.pos+1<l;){if(43===e.src.charCodeAt(e.pos)&&43===e.src.charCodeAt(e.pos+1)&&(o=e.src.charCodeAt(e.pos-1),i=e.pos+2<l?e.src.charCodeAt(e.pos+2):-1,43!==i&&43!==o&&(32!==o&&10!==o?s--:32!==i&&10!==i&&s++,0>=s))){r=!0;break}e.parser.skipToken(e)}return r?(e.posMax=e.pos,e.pos=a+2,t||(e.push({type:\"ins_open\",level:e.level++}),e.parser.tokenize(e),e.push({type:\"ins_close\",level:--e.level})),e.pos=e.posMax+2,e.posMax=l,!0):(e.pos=a,!1)}},{}],53:[function(e,t,r){\"use strict\";var n=e(\"../helpers/parse_link_label\"),s=e(\"../helpers/parse_link_destination\"),o=e(\"../helpers/parse_link_title\"),i=e(\"../helpers/normalize_reference\");t.exports=function(e,t){var r,l,a,c,u,p,h,f,d=!1,g=e.pos,m=e.posMax,b=e.pos,v=e.src.charCodeAt(b);if(33===v&&(d=!0,v=e.src.charCodeAt(++b)),91!==v)return!1;if(e.level>=e.options.maxNesting)return!1;if(r=b+1,l=n(e,b),0>l)return!1;if(p=l+1,m>p&&40===e.src.charCodeAt(p)){for(p++;m>p&&(f=e.src.charCodeAt(p),32===f||10===f);p++);if(p>=m)return!1;for(b=p,s(e,p)?(c=e.linkContent,p=e.pos):c=\"\",b=p;m>p&&(f=e.src.charCodeAt(p),32===f||10===f);p++);if(m>p&&b!==p&&o(e,p))for(u=e.linkContent,p=e.pos;m>p&&(f=e.src.charCodeAt(p),32===f||10===f);p++);else u=\"\";if(p>=m||41!==e.src.charCodeAt(p))return e.pos=g,!1;p++}else{if(e.linkLevel>0)return!1;for(;m>p&&(f=e.src.charCodeAt(p),32===f||10===f);p++);if(m>p&&91===e.src.charCodeAt(p)&&(b=p+1,p=n(e,p),p>=0?a=e.src.slice(b,p++):p=b-1),a||(\"undefined\"==typeof a&&(p=l+1),a=e.src.slice(r,l)),h=e.env.references[i(a)],!h)return e.pos=g,!1;c=h.href,u=h.title}return t||(e.pos=r,e.posMax=l,d?e.push({type:\"image\",src:c,title:u,alt:e.src.substr(r,l-r),level:e.level}):(e.push({type:\"link_open\",href:c,title:u,level:e.level++}),e.linkLevel++,e.parser.tokenize(e),e.linkLevel--,e.push({type:\"link_close\",level:--e.level}))),e.pos=p,e.posMax=m,!0}},{\"../helpers/normalize_reference\":10,\"../helpers/parse_link_destination\":11,\"../helpers/parse_link_label\":12,\"../helpers/parse_link_title\":13}],54:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,s,o,i,l=e.posMax,a=e.pos;if(61!==e.src.charCodeAt(a))return!1;if(t)return!1;if(a+4>=l)return!1;if(61!==e.src.charCodeAt(a+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(o=a>0?e.src.charCodeAt(a-1):-1,i=e.src.charCodeAt(a+2),61===o)return!1;if(61===i)return!1;if(32===i||10===i)return!1;for(n=a+2;l>n&&61===e.src.charCodeAt(n);)n++;if(n!==a+2)return e.pos+=n-a,t||(e.pending+=e.src.slice(a,n)),!0;for(e.pos=a+2,s=1;e.pos+1<l;){if(61===e.src.charCodeAt(e.pos)&&61===e.src.charCodeAt(e.pos+1)&&(o=e.src.charCodeAt(e.pos-1),i=e.pos+2<l?e.src.charCodeAt(e.pos+2):-1,61!==i&&61!==o&&(32!==o&&10!==o?s--:32!==i&&10!==i&&s++,0>=s))){r=!0;break}e.parser.skipToken(e)}return r?(e.posMax=e.pos,e.pos=a+2,t||(e.push({type:\"mark_open\",level:e.level++}),e.parser.tokenize(e),e.push({type:\"mark_close\",level:--e.level})),e.pos=e.posMax+2,e.posMax=l,!0):(e.pos=a,!1)}},{}],55:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,s=e.pos;if(10!==e.src.charCodeAt(s))return!1;for(r=e.pending.length-1,n=e.posMax,t||(r>=0&&32===e.pending.charCodeAt(r)?r>=1&&32===e.pending.charCodeAt(r-1)?(e.pending=e.pending.replace(/ +$/,\"\"),e.push({type:\"hardbreak\",level:e.level})):(e.pending=e.pending.slice(0,-1),e.push({type:\"softbreak\",level:e.level})):e.push({type:\"softbreak\",level:e.level})),s++;n>s&&32===e.src.charCodeAt(s);)s++;return e.pos=s,!0}},{}],56:[function(e,t,r){\"use strict\";function n(e,t,r,n,s){this.src=e,this.env=n,this.options=r,this.parser=t,this.tokens=s,this.pos=0,this.posMax=this.src.length,this.level=0,this.pending=\"\",this.pendingLevel=0,this.cache=[],this.isInLabel=!1,this.linkLevel=0,this.linkContent=\"\",this.labelUnmatchedScopes=0}n.prototype.pushPending=function(){this.tokens.push({type:\"text\",content:this.pending,level:this.pendingLevel}),this.pending=\"\"},n.prototype.push=function(e){this.pending&&this.pushPending(),this.tokens.push(e),this.pendingLevel=this.level},n.prototype.cacheSet=function(e,t){for(var r=this.cache.length;e>=r;r++)this.cache.push(0);this.cache[e]=t},n.prototype.cacheGet=function(e){return e<this.cache.length?this.cache[e]:0},t.exports=n},{}],57:[function(e,t,r){\"use strict\";var n=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;t.exports=function(e,t){var r,s,o=e.posMax,i=e.pos;if(126!==e.src.charCodeAt(i))return!1;if(t)return!1;if(i+2>=o)return!1;if(e.level>=e.options.maxNesting)return!1;for(e.pos=i+1;e.pos<o;){if(126===e.src.charCodeAt(e.pos)){r=!0;break}e.parser.skipToken(e)}return r&&i+1!==e.pos?(s=e.src.slice(i+1,e.pos),s.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(e.pos=i,!1):(e.posMax=e.pos,e.pos=i+1,t||e.push({type:\"sub\",level:e.level,content:s.replace(n,\"$1\")}),e.pos=e.posMax+1,e.posMax=o,!0)):(e.pos=i,!1)}},{}],58:[function(e,t,r){\"use strict\";var n=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;t.exports=function(e,t){var r,s,o=e.posMax,i=e.pos;if(94!==e.src.charCodeAt(i))return!1;if(t)return!1;if(i+2>=o)return!1;if(e.level>=e.options.maxNesting)return!1;for(e.pos=i+1;e.pos<o;){if(94===e.src.charCodeAt(e.pos)){r=!0;break}e.parser.skipToken(e)}return r&&i+1!==e.pos?(s=e.src.slice(i+1,e.pos),s.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(e.pos=i,!1):(e.posMax=e.pos,e.pos=i+1,t||e.push({type:\"sup\",level:e.level,content:s.replace(n,\"$1\")}),e.pos=e.posMax+1,e.posMax=o,!0)):(e.pos=i,!1)}},{}],59:[function(e,t,r){\"use strict\";function n(e){switch(e){case 10:case 92:case 96:case 42:case 95:case 94:case 91:case 93:case 33:case 38:case 60:case 62:case 123:case 125:case 36:case 37:case 64:case 126:case 43:case 61:case 58:return!0;default:return!1}}t.exports=function(e,t){for(var r=e.pos;r<e.posMax&&!n(e.src.charCodeAt(r));)r++;return r===e.pos?!1:(t||(e.pending+=e.src.slice(e.pos,r)),e.pos=r,!0)}},{}],60:[function(t,r,n){!function(t,s){\"function\"==typeof e&&e.amd?e([],function(){return t.Autolinker=s()}):\"object\"==typeof n?r.exports=s():t.Autolinker=s()}(this,function(){var e=function(t){e.Util.assign(this,t)};return e.prototype={constructor:e,urls:!0,email:!0,twitter:!0,newWindow:!0,stripPrefix:!0,truncate:void 0,className:\"\",htmlParser:void 0,matchParser:void 0,tagBuilder:void 0,link:function(e){for(var t=this.getHtmlParser(),r=t.parse(e),n=0,s=[],o=0,i=r.length;i>o;o++){var l=r[o],a=l.getType(),c=l.getText();if(\"element\"===a)\"a\"===l.getTagName()&&(l.isClosing()?n=Math.max(n-1,0):n++),s.push(c);else if(\"entity\"===a)s.push(c);else if(0===n){var u=this.linkifyStr(c);s.push(u)}else s.push(c)}return s.join(\"\")},linkifyStr:function(e){return this.getMatchParser().replace(e,this.createMatchReturnVal,this)},createMatchReturnVal:function(t){var r;if(this.replaceFn&&(r=this.replaceFn.call(this,this,t)),\"string\"==typeof r)return r;if(r===!1)return t.getMatchedText();if(r instanceof e.HtmlTag)return r.toString();var n=this.getTagBuilder(),s=n.build(t);return s.toString()},getHtmlParser:function(){var t=this.htmlParser;return t||(t=this.htmlParser=new e.htmlParser.HtmlParser),t},getMatchParser:function(){var t=this.matchParser;return t||(t=this.matchParser=new e.matchParser.MatchParser({urls:this.urls,email:this.email,twitter:this.twitter,stripPrefix:this.stripPrefix})),t},getTagBuilder:function(){var t=this.tagBuilder;return t||(t=this.tagBuilder=new e.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),t}},e.link=function(t,r){var n=new e(r);return n.link(t)},e.match={},e.htmlParser={},e.matchParser={},e.Util={abstractMethod:function(){throw\"abstract\"},assign:function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},extend:function(t,r){var n=t.prototype,s=function(){};s.prototype=n;var o;o=r.hasOwnProperty(\"constructor\")?r.constructor:function(){n.constructor.apply(this,arguments)};var i=o.prototype=new s;return i.constructor=o,i.superclass=n,delete r.constructor,e.Util.assign(i,r),o},ellipsis:function(e,t,r){return e.length>t&&(r=null==r?\"..\":r,e=e.substring(0,t-r.length)+r),e},indexOf:function(e,t){if(Array.prototype.indexOf)return e.indexOf(t);for(var r=0,n=e.length;n>r;r++)if(e[r]===t)return r;return-1},splitAndCapture:function(e,t){if(!t.global)throw new Error(\"`splitRegex` must have the 'g' flag set\");for(var r,n=[],s=0;r=t.exec(e);)n.push(e.substring(s,r.index)),n.push(r[0]),s=r.index+r[0].length;return n.push(e.substring(s)),n}},e.HtmlTag=e.Util.extend(Object,{whitespaceRegex:/\\s+/,constructor:function(t){e.Util.assign(this,t),this.innerHtml=this.innerHtml||this.innerHTML},setTagName:function(e){return this.tagName=e,this},getTagName:function(){return this.tagName||\"\"},setAttr:function(e,t){var r=this.getAttrs();return r[e]=t,this},getAttr:function(e){return this.getAttrs()[e]},setAttrs:function(t){var r=this.getAttrs();return e.Util.assign(r,t),this},getAttrs:function(){return this.attrs||(this.attrs={})},setClass:function(e){return this.setAttr(\"class\",e)},addClass:function(t){for(var r,n=this.getClass(),s=this.whitespaceRegex,o=e.Util.indexOf,i=n?n.split(s):[],l=t.split(s);r=l.shift();)-1===o(i,r)&&i.push(r);return this.getAttrs()[\"class\"]=i.join(\" \"),this},removeClass:function(t){for(var r,n=this.getClass(),s=this.whitespaceRegex,o=e.Util.indexOf,i=n?n.split(s):[],l=t.split(s);i.length&&(r=l.shift());){var a=o(i,r);-1!==a&&i.splice(a,1)}return this.getAttrs()[\"class\"]=i.join(\" \"),this},getClass:function(){return this.getAttrs()[\"class\"]||\"\"},hasClass:function(e){return-1!==(\" \"+this.getClass()+\" \").indexOf(\" \"+e+\" \")},setInnerHtml:function(e){return this.innerHtml=e,this},getInnerHtml:function(){return this.innerHtml||\"\"},toString:function(){var e=this.getTagName(),t=this.buildAttrsStr();return t=t?\" \"+t:\"\",[\"<\",e,t,\">\",this.getInnerHtml(),\"</\",e,\">\"].join(\"\")},buildAttrsStr:function(){if(!this.attrs)return\"\";var e=this.getAttrs(),t=[];for(var r in e)e.hasOwnProperty(r)&&t.push(r+'=\"'+e[r]+'\"');return t.join(\" \")}}),e.AnchorTagBuilder=e.Util.extend(Object,{constructor:function(t){e.Util.assign(this,t)},build:function(t){var r=new e.HtmlTag({tagName:\"a\",attrs:this.createAttrs(t.getType(),t.getAnchorHref()),innerHtml:this.processAnchorText(t.getAnchorText())});return r},createAttrs:function(e,t){var r={href:t},n=this.createCssClass(e);return n&&(r[\"class\"]=n),this.newWindow&&(r.target=\"_blank\"),r},createCssClass:function(e){var t=this.className;return t?t+\" \"+t+\"-\"+e:\"\"},processAnchorText:function(e){return e=this.doTruncate(e)},doTruncate:function(t){return e.Util.ellipsis(t,this.truncate||Number.POSITIVE_INFINITY)}}),e.htmlParser.HtmlParser=e.Util.extend(Object,{htmlRegex:function(){var e=/[0-9a-zA-Z][0-9a-zA-Z:]*/,t=/[^\\s\\0\"'>\\/=\\x01-\\x1F\\x7F]+/,r=/(?:\"[^\"]*?\"|'[^']*?'|[^'\"=<>`\\s]+)/,n=t.source+\"(?:\\\\s*=\\\\s*\"+r.source+\")?\";return new RegExp([\"(?:\",\"<(!DOCTYPE)\",\"(?:\",\"\\\\s+\",\"(?:\",n,\"|\",r.source+\")\",\")*\",\">\",\")\",\"|\",\"(?:\",\"<(/)?\",\"(\"+e.source+\")\",\"(?:\",\"\\\\s+\",n,\")*\",\"\\\\s*/?\",\">\",\")\"].join(\"\"),\"gi\")}(),htmlCharacterEntitiesRegex:/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;|&quot;|&#34;|&#39;)/gi,parse:function(e){for(var t,r,n=this.htmlRegex,s=0,o=[];null!==(t=n.exec(e));){var i=t[0],l=t[1]||t[3],a=!!t[2],c=e.substring(s,t.index);c&&(r=this.parseTextAndEntityNodes(c),o.push.apply(o,r)),o.push(this.createElementNode(i,l,a)),s=t.index+i.length}if(s<e.length){var u=e.substring(s);u&&(r=this.parseTextAndEntityNodes(u),o.push.apply(o,r))}return o},parseTextAndEntityNodes:function(t){for(var r=[],n=e.Util.splitAndCapture(t,this.htmlCharacterEntitiesRegex),s=0,o=n.length;o>s;s+=2){var i=n[s],l=n[s+1];i&&r.push(this.createTextNode(i)),l&&r.push(this.createEntityNode(l))}return r},createElementNode:function(t,r,n){return new e.htmlParser.ElementNode({text:t,tagName:r.toLowerCase(),closing:n})},createEntityNode:function(t){return new e.htmlParser.EntityNode({text:t})},createTextNode:function(t){return new e.htmlParser.TextNode({text:t})}}),e.htmlParser.HtmlNode=e.Util.extend(Object,{text:\"\",constructor:function(t){e.Util.assign(this,t)},getType:e.Util.abstractMethod,getText:function(){return this.text}}),e.htmlParser.ElementNode=e.Util.extend(e.htmlParser.HtmlNode,{tagName:\"\",closing:!1,getType:function(){return\"element\"},getTagName:function(){return this.tagName},isClosing:function(){return this.closing}}),e.htmlParser.EntityNode=e.Util.extend(e.htmlParser.HtmlNode,{getType:function(){return\"entity\"}}),e.htmlParser.TextNode=e.Util.extend(e.htmlParser.HtmlNode,{getType:function(){return\"text\"}}),e.matchParser.MatchParser=e.Util.extend(Object,{urls:!0,email:!0,twitter:!0,stripPrefix:!0,matcherRegex:function(){var e=/(^|[^\\w])@(\\w{1,15})/,t=/(?:[\\-;:&=\\+\\$,\\w\\.]+@)/,r=/(?:[A-Za-z][-.+A-Za-z0-9]+:(?![A-Za-z][-.+A-Za-z0-9]+:\\/\\/)(?!\\d+\\/?)(?:\\/\\/)?)/,n=/(?:www\\.)/,s=/[A-Za-z0-9\\.\\-]*[A-Za-z0-9\\-]/,o=/\\.(?:international|construction|contractors|enterprises|photography|productions|foundation|immobilien|industries|management|properties|technology|christmas|community|directory|education|equipment|institute|marketing|solutions|vacations|bargains|boutique|builders|catering|cleaning|clothing|computer|democrat|diamonds|graphics|holdings|lighting|partners|plumbing|supplies|training|ventures|academy|careers|company|cruises|domains|exposed|flights|florist|gallery|guitars|holiday|kitchen|neustar|okinawa|recipes|rentals|reviews|shiksha|singles|support|systems|agency|berlin|camera|center|coffee|condos|dating|estate|events|expert|futbol|kaufen|luxury|maison|monash|museum|nagoya|photos|repair|report|social|supply|tattoo|tienda|travel|viajes|villas|vision|voting|voyage|actor|build|cards|cheap|codes|dance|email|glass|house|mango|ninja|parts|photo|shoes|solar|today|tokyo|tools|watch|works|aero|arpa|asia|best|bike|blue|buzz|camp|club|cool|coop|farm|fish|gift|guru|info|jobs|kiwi|kred|land|limo|link|menu|mobi|moda|name|pics|pink|post|qpon|rich|ruhr|sexy|tips|vote|voto|wang|wien|wiki|zone|bar|bid|biz|cab|cat|ceo|com|edu|gov|int|kim|mil|net|onl|org|pro|pub|red|tel|uno|wed|xxx|xyz|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)\\b/,i=/[\\-A-Za-z0-9+&@#\\/%=~_()|'$*\\[\\]?!:,.;]*[\\-A-Za-z0-9+&@#\\/%=~_()|'$*\\[\\]]/;return new RegExp([\"(\",e.source,\")\",\"|\",\"(\",t.source,s.source,o.source,\")\",\"|\",\"(\",\"(?:\",\"(\",r.source,s.source,\")\",\"|\",\"(?:\",\"(.?//)?\",n.source,s.source,\")\",\"|\",\"(?:\",\"(.?//)?\",s.source,o.source,\")\",\")\",\"(?:\"+i.source+\")?\",\")\"].join(\"\"),\"gi\")}(),charBeforeProtocolRelMatchRegex:/^(.)?\\/\\//,constructor:function(t){e.Util.assign(this,t),this.matchValidator=new e.MatchValidator},replace:function(e,t,r){var n=this;return e.replace(this.matcherRegex,function(e,s,o,i,l,a,c,u,p){var h=n.processCandidateMatch(e,s,o,i,l,a,c,u,p);if(h){var f=t.call(r,h.match);return h.prefixStr+f+h.suffixStr}return e})},processCandidateMatch:function(t,r,n,s,o,i,l,a,c){var u,p=a||c,h=\"\",f=\"\";if(r&&!this.twitter||o&&!this.email||i&&!this.urls||!this.matchValidator.isValidMatch(i,l,p))return null;if(this.matchHasUnbalancedClosingParen(t)&&(t=t.substr(0,t.length-1),f=\")\"),o)u=new e.match.Email({matchedText:t,email:o});else if(r)n&&(h=n,t=t.slice(1)),u=new e.match.Twitter({matchedText:t,twitterHandle:s});else{if(p){var d=p.match(this.charBeforeProtocolRelMatchRegex)[1]||\"\";d&&(h=d,t=t.slice(1))}u=new e.match.Url({matchedText:t,url:t,protocolUrlMatch:!!l,protocolRelativeMatch:!!p,stripPrefix:this.stripPrefix})}return{prefixStr:h,suffixStr:f,match:u}},matchHasUnbalancedClosingParen:function(e){var t=e.charAt(e.length-1);if(\")\"===t){var r=e.match(/\\(/g),n=e.match(/\\)/g),s=r&&r.length||0,o=n&&n.length||0;if(o>s)return!0}return!1}}),e.MatchValidator=e.Util.extend(Object,{invalidProtocolRelMatchRegex:/^[\\w]\\/\\//,hasFullProtocolRegex:/^[A-Za-z][-.+A-Za-z0-9]+:\\/\\//,uriSchemeRegex:/^[A-Za-z][-.+A-Za-z0-9]+:/,hasWordCharAfterProtocolRegex:/:[^\\s]*?[A-Za-z]/,isValidMatch:function(e,t,r){return t&&!this.isValidUriScheme(t)||this.urlMatchDoesNotHaveProtocolOrDot(e,t)||this.urlMatchDoesNotHaveAtLeastOneWordChar(e,t)||this.isInvalidProtocolRelativeMatch(r)?!1:!0},isValidUriScheme:function(e){var t=e.match(this.uriSchemeRegex)[0].toLowerCase();return\"javascript:\"!==t&&\"vbscript:\"!==t},urlMatchDoesNotHaveProtocolOrDot:function(e,t){return!(!e||t&&this.hasFullProtocolRegex.test(t)||-1!==e.indexOf(\".\"))},urlMatchDoesNotHaveAtLeastOneWordChar:function(e,t){return e&&t?!this.hasWordCharAfterProtocolRegex.test(e):!1},isInvalidProtocolRelativeMatch:function(e){return!!e&&this.invalidProtocolRelMatchRegex.test(e)}}),e.match.Match=e.Util.extend(Object,{constructor:function(t){e.Util.assign(this,t)},getType:e.Util.abstractMethod,getMatchedText:function(){return this.matchedText},getAnchorHref:e.Util.abstractMethod,getAnchorText:e.Util.abstractMethod}),e.match.Email=e.Util.extend(e.match.Match,{getType:function(){return\"email\"},getEmail:function(){return this.email},getAnchorHref:function(){return\"mailto:\"+this.email},getAnchorText:function(){return this.email}}),e.match.Twitter=e.Util.extend(e.match.Match,{getType:function(){return\"twitter\"},getTwitterHandle:function(){return this.twitterHandle},getAnchorHref:function(){return\"https://twitter.com/\"+this.twitterHandle},getAnchorText:function(){return\"@\"+this.twitterHandle}}),e.match.Url=e.Util.extend(e.match.Match,{urlPrefixRegex:/^(https?:\\/\\/)?(www\\.)?/i,protocolRelativeRegex:/^\\/\\//,protocolPrepended:!1,getType:function(){return\"url\"},getUrl:function(){var e=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(e=this.url=\"http://\"+e,this.protocolPrepended=!0),e},getAnchorHref:function(){var e=this.getUrl();return e.replace(/&amp;/g,\"&\")},getAnchorText:function(){var e=this.getUrl();return this.protocolRelativeMatch&&(e=this.stripProtocolRelativePrefix(e)),this.stripPrefix&&(e=this.stripUrlPrefix(e)),e=this.removeTrailingSlash(e)},stripUrlPrefix:function(e){return e.replace(this.urlPrefixRegex,\"\")},stripProtocolRelativePrefix:function(e){return e.replace(this.protocolRelativeRegex,\"\")},removeTrailingSlash:function(e){return\"/\"===e.charAt(e.length-1)&&(e=e.slice(0,-1)),e}}),e})},{}],\"/\":[function(e,t,r){\"use strict\";t.exports=e(\"./lib/\")},{\"./lib/\":14}]},{},[])(\"/\")});\n"
  },
  {
    "path": "src/wemark/richtext.js",
    "content": "exports.getRichTextNodes = function(parsedData){\n\n\tvar richTextNodes = [];\n\n\tvar getNodeName = (function(){\n\t\tvar stack = [];\n\t\treturn function(type, nodeType = 'inline'){\n\t\t\tif(type === 'table_tr'){\n\t\t\t\treturn 'tr';\n\t\t\t}else{\n\t\t\t\t// 有多级的，block返回第一级，inline返回最后一级\n\t\t\t\tif(type.indexOf('_') > -1){\n\t\t\t\t\tvar typePart = type.split('_');\n\t\t\t\t\tif(nodeType === 'inline'){\n\t\t\t\t\t\treturn typePart.pop();\n\t\t\t\t\t}else{\n\t\t\t\t\t\treturn typePart[0];\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn type;\n\t\t};\n\t})();\n\n\tvar getBlockNode = function(node){\n\t\tvar nodeType = node.type;\n\t\t// console.log('nodeType:', nodeType);\n\t\tvar richTextNode = {\n\t\t\tname: getNodeName(nodeType, 'inline'),\n\t\t\tattrs: {\n\t\t\t\tclass: 'wemark_block_' + nodeType\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\tif(node.isArray){\n\t\t\tnode.content.forEach((childNode) => {\n\t\t\t\tif(['text','code','strong','deleted','em'].indexOf(childNode.type) > -1){\n\t\t\t\t\trichTextNode.children.push({\n\t\t\t\t\t\tname: 'span',\n\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\tclass: 'wemark_inline_' + childNode.type\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren:[{\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\ttext: childNode.content\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t}else if(node.highlight){\n\t\t\t\t\tif(typeof childNode === 'string'){\n\t\t\t\t\t\trichTextNode.children.push({\n\t\t\t\t\t\t\tname: 'span',\n\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\tclass: 'wemark_inline_code_text'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: [{\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\ttext: childNode\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t}else{\n\t\t\t\t\t\trichTextNode.children.push({\n\t\t\t\t\t\t\tname: 'span',\n\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\tclass: 'wemark_inline_code_' + childNode.type\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: [{\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\ttext: childNode.content\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}else if(childNode.type === 'link'){\n\t\t\t\t\trichTextNode.children.push({\n\t\t\t\t\t\tname: 'a',\n\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\tclass: 'wemark_inline_link',\n\t\t\t\t\t\t\thref: childNode.data.href\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren:[{\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\ttext: childNode.content\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t}else if(childNode.type === 'image'){\n\t\t\t\t\trichTextNode.children.push({\n\t\t\t\t\t\tname: 'img',\n\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\tmode: 'widthFix',\n\t\t\t\t\t\t\tclass: 'wemark_inline_image',\n\t\t\t\t\t\t\tsrc: childNode.src\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}else if(childNode.type === 'table_th'){\n\t\t\t\t\trichTextNode.children.push({\n\t\t\t\t\t\tname: 'th',\n\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\tclass: 'wemark_inline_table_th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [{\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\ttext: childNode.content\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t}else if(childNode.type === 'table_td'){\n\t\t\t\t\trichTextNode.children.push({\n\t\t\t\t\t\tname: 'td',\n\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\tclass: 'wemark_inline_table_td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [{\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\ttext: childNode.content\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}else if(node.type === 'code'){\n\n\t\t\trichTextNode.children = [{\n\t\t\t\tname: 'code',\n\t\t\t\tchildren: [{\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\ttext: node.content\n\t\t\t\t}]\n\t\t\t}];\n\t\t}\n\t\treturn richTextNode;\n\t}\n\n\tfor(var i=0; i<parsedData.length;i++){\n\t\tvar node = parsedData[i];\n\t\tif(node.type === 'table_tr'){\n\t\t\tvar tableNode = {\n\t\t\t\tname: 'table',\n\t\t\t\tattrs: {\n\t\t\t\t\tclass: 'wemark_block_table'\n\t\t\t\t},\n\t\t\t\tchildren: []\n\t\t\t};\n\t\t\tvar tmpNode = node;\n\t\t\twhile(tmpNode.type === 'table_tr'){\n\t\t\t\ttableNode.children.push(getBlockNode(tmpNode));\n\t\t\t\ttmpNode = parsedData[++i];\n\t\t\t}\n\t\t\trichTextNodes.push(tableNode);\n\t\t}else{\n\t\t\trichTextNodes.push(getBlockNode(node));\n\t\t}\n\n\t}\n\n\treturn richTextNodes;\n\n}\n"
  },
  {
    "path": "src/wemark/wemark.js",
    "content": "const parser = require('./parser');\nconst getRichTextNodes = require('./richtext').getRichTextNodes;\n\nComponent({\n    properties: {\n        md: {\n            type: String,\n            value: '',\n            observer(){\n                this.parseMd();\n            }\n        },\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tvalue: 'wemark'\n\t\t},\n        baseurl: {\n           type: String,\n           value: ''\n        },\n      currentDir: {\n        type: String,\n        value: ''\n      },\n\t\tlink: {\n\t\t\ttype: Boolean,\n\t\t\tvalue: false\n\t\t},\n\t\thighlight: {\n\t\t\ttype: Boolean,\n\t\t\tvalue: false\n\t\t}\n    },\n    data: {\n        parsedData: {},\n        images: {},\n        imagesList: [],\n\t\t    richTextNodes: []\n    },\n    methods: {\n      imageLoad(e) {\n        var width = e.detail.width,   \n          height = e.detail.height\n        var images = this.data.images\n        var url = e.target.dataset.text\n        if (url in images) { return }\n        if (this.isFaceImg(url)) {\n          images[url] = { width: width/1.8, height: height/1.8 }\n        } else if (width < 200 && height < 200) {\n          images[url] = { width: width * 2, height: height * 2 }\n        } else {return}\n        this.setData({images: images})\n      },\n      isFaceImg(url) {\n        if (url.startsWith('https://www.webfx.com/')) { return true }\n        return false\n      },\n        onImgTap(e) {\n          var url = e.target.dataset.text\n          if (this.isFaceImg(url)) {return}\n          console.log('previewImage:', url)\n          wx.previewImage({\n            current: url, \n            urls: this.data.imagesList, \n            complete: function(e) {console.log('complete:', e)},\n            fail: function(e) {console.log('previewImage fail:', e)},\n          })\n        },\n        onTap(e) {\n            var clickurl = e.target.dataset.text\n            if(clickurl.startsWith('#')) {\n              console.log(\"onTap url:\", clickurl)\n              var query = this.createSelectorQuery()\n              query.select(clickurl).boundingClientRect()\n              query.selectViewport().scrollOffset()\n              query.exec(function (res) {\n                if (res.length < 2) {return}\n                if (res[0] == null) {return}\n                wx.pageScrollTo({\n                  scrollTop: (res[0].top||0) + res[1].scrollTop,\n                  duration: 300\n                })\n              })\n            } else {\n              this.triggerEvent('click', e)   \n            }\n        },\n      \n        parseMd(){\n\t\t\tif (this.data.md) {\n\t\t\t\tvar [parsedData, imagesList] = parser.parse(this.data.md, {\n\t\t\t\t\tlink: this.data.link,\n          baseurl: this.data.baseurl,\n          currentDir: this.data.currentDir,\n\t\t\t\t\thighlight: this.data.highlight\n\t\t\t\t});\n        var tmpList = []\n        imagesList.map(i => {\n          if (!this.isFaceImg(i)) {tmpList.push(i)}\n        })\n\t\t\t\t// console.log('parsedData:', parsedData, imagesList);\n\t\t\t\tif(this.data.type === 'wemark'){\n\t\t\t\t\tthis.setData({\n\t\t\t\t\t\tparsedData,\n            imagesList: tmpList,\n\t\t\t\t\t});\n\t\t\t\t}else{\n\t\t\t\t\t// var inTable = false;\n\t\t\t\t\tvar richTextNodes = getRichTextNodes(parsedData);\n\n\t\t\t\t\t// console.log('richTextNodes:', richTextNodes);\n\n\t\t\t\t\tthis.setData({\n\t\t\t\t\t\trichTextNodes\n\t\t\t\t\t});\n\n\t\t\t\t\t/* // 分批更新\n\t\t\t\t\tvar update = {};\n\t\t\t\t\tvar batchLength = 1000;\n\t\t\t\t\tconsole.log(batchLength);\n\t\t\t\t\tfor(var i=0; i<richTextNodes.length; i++){\n\t\t\t\t\t\tupdate['richTextNodes.' + i] = richTextNodes[i];\n\t\t\t\t\t\tif(i%batchLength === batchLength - 1){\n\t\t\t\t\t\t\tconsole.log(update);\n\t\t\t\t\t\t\tthis.setData(update);\n\t\t\t\t\t\t\tupdate = {};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthis.setData(update);\n\t\t\t\t\tupdate = {}; */\n\t\t\t\t}\n\n            }\n        }\n    }\n});\n"
  },
  {
    "path": "src/wemark/wemark.json",
    "content": "{\n    \"component\": true\n}\n"
  },
  {
    "path": "src/wemark/wemark.wxml",
    "content": "<scroll-view scroll-y>\n<view class=\"wemark_wrapper\">\n<block wx:if=\"{{type === 'wemark'}}\" wx:for=\"{{parsedData}}\" wx:key=\"blockIndex\" wx:for-index=\"blockIndex\" wx:for-item=\"renderBlock\">\n\t<view class=\"wemark_block_{{renderBlock.type}}\">\n\t\t<block wx:if=\"{{renderBlock.isArray}}\" wx:for=\"{{renderBlock.content}}\" wx:key=\"inlineIndex\" wx:for-index=\"inlineIndex\" wx:for-item=\"renderInline\">\n\t\t\t<text id=\"{{renderInline.id}}\" class=\"wemark_inline_{{renderInline.type}}\" wx:if=\"{{renderInline.type === 'text' || renderInline.type === 'code' || renderInline.type === 'strong' || renderInline.type === 'strong_em' || renderInline.type === 'deleted' || renderInline.type === 'em'}}\">{{renderInline.content}}</text>\n\n      <!-- table 表格内 -->\n      <view id=\"{{renderInline.id}}\" class=\"wemark_inline_{{renderInline.type}}\" wx:if=\"{{renderInline.type === 'table_td' ||  renderInline.type === 'table_th'}}\">\n        <block wx:for=\"{{renderInline.content}}\" wx:key=\"inIndex\" wx:for-index=\"inIndex\" wx:for-item=\"inner\">\n          <text wx:if=\"{{inner.type!=='link' && inner.type!=='image'}}\">{{inner.content}}</text>\n          <navigator bindtap=\"onTap\" data-text=\"{{inner.data.href}}\" class=\"wemark_inline_link\" url=\"{{inner.data.href}}\" wx:if=\"{{inner.type === 'link'}}\">{{inner.content}}</navigator>\n          <image bindtap=\"onImgTap\" bindload=\"imageLoad\" data-text=\"{{inner.src}}\" mode=\"widthFix\" class=\"wemark_inline_image\" src=\"{{inner.src}}\" wx:if=\"{{inner.type === 'image'}}\"></image>\n        </block>\n      </view>\n\n\t\t\t<!-- 代码高亮 -->\n\t\t\t<text class=\"wemark_inline_code_{{renderInline.type}}\" wx:if=\"{{renderInline.type&&renderBlock.highlight}}\">{{renderInline.content}}</text>\n\t\t\t<text class=\"wemark_inline_code_text\" wx:if=\"{{!renderInline.type}}\">{{renderInline}}</text>\n\t\t\t<navigator bindtap=\"onTap\" data-text=\"{{renderInline.data.href}}\" class=\"wemark_inline_link\" url=\"{{renderInline.data.href}}\" wx:if=\"{{renderInline.type === 'link'}}\">{{renderInline.content}}</navigator>\n\t\t\t<image bindtap=\"onImgTap\" bindload=\"imageLoad\" mode=\"widthFix\" data-text=\"{{renderInline.src}}\" class=\"wemark_inline_image\" src=\"{{renderInline.src}}\" wx:if=\"{{renderInline.type === 'image'}}\" style=\"width:{{ images[renderInline.src].width }}rpx; height:{{ images[renderInline.src].height }}rpx;\"></image>\n\t\t</block>\n\t\t<block wx:if=\"{{!renderBlock.isArray}}\">\n\t\t\t<view wx:if=\"{{renderBlock.type === 'code'}}\">{{renderBlock.content}}</view>\n\t\t\t<video wx:if=\"{{renderBlock.type == 'video'}}\" class=\"wemark_block_video\" src=\"{{renderBlock.src}}\" poster=\"{{renderBlock.poster}}\" controls></video>\n      <image bindtap=\"onImgTap\" bindload=\"imageLoad\" data-text=\"{{renderBlock.src}}\" mode=\"widthFix\" class=\"wemark_inline_image\" src=\"{{renderBlock.src}}\" wx:if=\"{{renderBlock.type === 'image'}}\" style=\"width:{{ images[renderBlock.src].width }}rpx; height:{{ images[renderBlock.src].height }}rpx;\"></image>\n      <text class=\"wemark_inline_{{renderInline.type}}\" wx:if=\"{{renderBlock.type === 'text'}}\">{{renderBlock.content}}</text>\n\t\t</block>\n\t</view>\n</block>\n<rich-text class=\"wemark_wrapper_richtext\" wx:if=\"{{type === 'rich-text'}}\" nodes=\"{{richTextNodes}}\"></rich-text>\n</view>\n</scroll-view>"
  },
  {
    "path": "src/wemark/wemark.wxss",
    "content": "@import \"prism.wxss\";\n\n.wemark_wrapper{\n\tmargin:10px 0;\n\tfont-size:32rpx;\n\tline-height: 1.8em;\n}\n.wemark_block_h1{\n\tfont-size:50rpx;\n  /**不喜欢居中，把居中去掉**/\n  /**text-align: center;**/\n  margin-bottom:1em;\n  margin-top:40px;\n  font-weight: 500;\n  position: relative;\n}\n\n.wemark_block_h1:after{\n  content: '';                 /*CSS伪类用法*/\n  position: absolute;         /*定位背景横线的位置*/\n  top: 130%;\n  background: #e0e0e0;       /*宽和高做出来的背景横线*/\n  width: 100%;\n  height: 1px;\n  left:0px;\n}\n\n.wemark_block_h2{\n\tfont-size:40rpx;\n\tpadding-bottom:.5em;\n\tmargin-top:1em;\n\tmargin-bottom:1em;\n\tborder-bottom:1px solid #f0f0f0;\n}\n.wemark_block_h3{\n\tfont-size:36rpx;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n.wemark_block_h4,\n.wemark_block_h5,\n.wemark_block_h6{\n\tfont-weight: bold;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n.wemark_block_p{\n\tmargin-top:1em;\n\tmargin-bottom:1em;\n}\n.wemark_block_video{\n\tmargin-top:1em;\n\tmargin-bottom:1em;\n\twidth:100%;\n}\n.wemark_block_blockquote_p{\n  margin-top: 1em;\n  margin-bottom: 1em;\n  padding: 10rpx 0 10rpx 1em;\n  font-size: 28rpx;\n  background: #f6f8fa;\n  border-left: 5rpx solid #e0e0e0;\n\n}\n.wemark_block_ul_li_p::before{\n\tcontent:'• ';\n}\n.wemark_block_ul_li_ul_li_p::before,\n.wemark_block_ol_li_ul_li_p::before{\n\tcontent:'◦ ';\n}\n.wemark_block_ul_li_ul_li_p,\n.wemark_block_ul_li_ol_li_p,\n.wemark_block_ol_li_ul_li_p,\n.wemark_block_ol_li_ol_li_p{\n\tpadding-left: 1em;\n}\n.wemark_block_ul_li_p:last{\n\tmargin-bottom:1em;\n}\n.wemark_block_code{\n\tdisplay: block;\n\tpadding:10px;\n\tfont-size:28rpx;\n\tline-height: 1.5em;\n\tborder:1px solid #f0f0f0;\n\twhite-space: pre;\n\toverflow: auto;\n  background-color: #2b2b2b;\n}\n.wemark_block_table{\n\twidth: 100%;\n\tborder-spacing: 0;\n\tborder-collapse: collapse;\n\t/* border-left: 1px solid #e0e0e0; */\n\t/* border-top: 1px solid #e0e0e0; */\n}\n.wemark_block_table_tr{\n\tdisplay: flex;\n}\n.wemark_wrapper_richtext .wemark_block_table_tr{\n\tdisplay: table-row;\n}\n.wemark_inline_table_th,\n.wemark_inline_table_td{\n\tflex:1;\n\tpadding:5px;\n\tfont-size:28rpx;\n\tword-break: break-all;\n\tborder: 1px solid #e0e0e0;\n}\n.wemark_wrapper_richtext .wemark_inline_table_th,\n.wemark_wrapper_richtext .wemark_inline_table_td{\n\tdisplay: table-cell;\n\t/* background:red;\n\tborder-right:1px solid #e0e0e0;\n\tborder-bottom:1px solid #e0e0e0; */\n}\n.wemark_inline_table_td:last{\n\t/* border-top:1px solid #e0e0e0; */\n}\n.wemark_inline_table_th{\n\tbackground:#f0f0f0;\n\t/* border-top:1px solid #e0e0e0; */\n}\n.wemark_inline_strong{\n\tfont-weight: bold;\n\tpadding:0 5px;\n\tword-wrap:break-word;\n}\n.wemark_inline_em{\n\tfont-style: italic;\n\tpadding:0 5px;\n\tword-wrap:break-word;\n}\n.wemark_inline_strong_em{\n\tfont-style: italic;\n\tfont-weight: bold;\n\tpadding:0 5px;\n\tword-wrap:break-word;\n}\n.wemark_inline_deleted{\n\ttext-decoration: line-through;\n\tpadding:0 5px;\n\tword-wrap:break-word;\n}\n.wemark_inline_image{\n\twidth:100%;\n\theight:auto;\n  margin-left: 3rpx;\n  margin-right: 3rpx;\n}\n.wemark_inline_code{\n\tbackground:#edebed;\n\tpadding:3px 5px;\n\tword-wrap:break-word;\n  border-radius:5px;\n  margin-left:5px;\n  margin-right:5px;\n}\n\n.wemark_inline_code_annotation,\n.wemark_inline_code_triple-quoted-string{\n  color: #e0e0e0;\n}\n.wemark_inline_code_rule,\nview.wemark_block_code view,\n.wemark_inline_code_text {\n  color: #e0e0e0;\n}\n.wemark_inline_text{\n\tword-wrap:break-word;\n}\n.wemark_inline_link{\n\tdisplay: inline;\n\tcolor: blue;\n\tword-wrap:break-word;\n}\n"
  },
  {
    "path": "tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"es2017\",\n    \"module\": \"commonjs\",\n    \"removeComments\": false,\n    \"preserveConstEnums\": true,\n    \"moduleResolution\": \"node\",\n    \"experimentalDecorators\": true,\n    \"noImplicitAny\": false,\n    \"allowSyntheticDefaultImports\": true,\n    \"outDir\": \"lib\",\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"strictNullChecks\": true,\n    \"sourceMap\": true,\n    \"baseUrl\": \".\",\n    \"rootDir\": \".\",\n    \"jsx\": \"preserve\",\n    \"allowJs\": true,\n    \"resolveJsonModule\": true,\n    \"typeRoots\": [\"node_modules/@types\"],\n    \"paths\": {\n      \"@/*\": [\"./src/*\"]\n    }\n  },\n  \"include\": [\"./src\", \"./types\"],\n  \"compileOnSave\": false\n}\n"
  },
  {
    "path": "types/global.d.ts",
    "content": "/// <reference types=\"@tarojs/taro\" />\n\ndeclare module '*.png';\ndeclare module '*.gif';\ndeclare module '*.jpg';\ndeclare module '*.jpeg';\ndeclare module '*.svg';\ndeclare module '*.css';\ndeclare module '*.less';\ndeclare module '*.scss';\ndeclare module '*.sass';\ndeclare module '*.styl';\n\ndeclare namespace NodeJS {\n  interface ProcessEnv {\n    TARO_ENV: 'weapp' | 'swan' | 'alipay' | 'h5' | 'rn' | 'tt' | 'quickapp' | 'qq' | 'jd'\n  }\n}\n\n\ndeclare namespace JSX {\n  interface IntrinsicElements {\n      'wemark': any\n  }\n}\n"
  },
  {
    "path": "types/trending.ts",
    "content": "export interface TrendingRequestParams {\n  language?: string;\n  since?: string;\n  type?: 'repositories' | 'developers';\n}\n\nexport interface TrendingRepoData {\n  author: string;\n  name: string;\n  avatar: string;\n  description?: string;\n  url: string;\n  language?: string;\n  languageColor?: string;\n  stars: number;\n  forks: number;\n  currentPeriodStars: number;\n  builtBy: BuiltBy[];\n}\n\ninterface BuiltBy {\n  username: string;\n  href: string;\n  avatar: string;\n}\n\nexport interface TrendingDeveloperData {\n  username: string;\n  name: string;\n  url: string;\n  sponsorUrl?: any;\n  avatar: string;\n  repo: Repo;\n}\n\ninterface Repo {\n  name: string;\n  description: string;\n  url: string;\n}\n"
  }
]