// Copyright (c) ppy Pty Ltd . Licensed under the GNU Affero General Public License v3.0. // See the LICENCE file in the repository root for full licence text. interface CommonProps { display_name: string; } interface GithubProps { github_url: string; github_username: string; } interface IdProps { id: number; } interface OsuProps { osu_username: string; user_id: number; user_url: string; } type Null = Record; type GithubUserJson = CommonProps & GithubProps & IdProps & (OsuProps | Null); type Legacy = CommonProps & Null & Null & OsuProps; type Placeholder = CommonProps & GithubProps & Null & Null; export default GithubUserJson; export type GithubUserJsonForChangelog = GithubUserJson | Legacy | Placeholder;