export interface User { /** * The user's id */ id: string; /** * The user's github id; only visible to the user themself */ github_id: number; /** * The user's username */ username: string; /** * The user's display name */ name: string; /** * The user's email; only visible to the user themself */ email?: string; /** * The user's avatar url; uses github's icons */ avatar_url?: string; /** * A description of the user */ bio: string; /** * The time at which the user was created */ created: Date; /** * The user's role developer, moderator, or admin */ role: string; } export interface Category { icon: string; header: string; name: string; project_type: string; } export interface Loader { icon: string; name: string; supported_project_types: string[]; } export interface GameVersion { date: string; major: boolean; version: string; version_type: string; } export interface Collection { id: string; user: string; name: string; description: string; icon_url?: string; color?: string; status: 'listed'; created: Date; updated: Date; projects: string[]; } export interface Project { /** * The ID of the mod, encoded as a base62 string */ id: string; /** * The slug of a mod, used for vanity URLs */ slug: string; /** * The id of the team that has ownership of this mod */ team: string; /** * The title or name of the mod */ title: string; /** * A short description of the mod */ description: string; /** * A long form description of the mod. */ body: string; /** * DEPRECATED The link to the long description of the mod */ body_url?: string; /** * The date at which the mod was first published */ published: string; /** * The date at which the mod was updated */ updated: string; /** * The status of the mod - approved, rejected, draft, unlisted, processing, or unknown */ status: string; /** * The license of the mod */ license: License; /** * The support range for the client mod - required, optional, unsupported, or unknown */ client_side: string; /** * The support range for the server mod - required, optional, unsupported, or unknown */ server_side: string; /** * The total number of downloads the mod has */ downloads: number; followers: number; /** * A list of the categories that the mod is in */ categories: Array; /** * A list of ids for versions of the mod */ versions: Array; loaders: Array; /** * The URL of the icon of the mod */ icon_url?: string; /** * An optional link to where to submit bugs or issues with the mod */ issues_url?: string; /** * An optional link to the source code for the mod */ source_url?: string; /** * An optional link to the mod's wiki page or other relevant information */ wiki_url?: string; /** * An optional link to the mod's discord */ discord_url?: string; /** * An optional list of all donation links the mod has */ donation_urls: Array; project_type: string; game_versions: string[]; gallery: ProjectGallery[]; } export interface ProjectGallery { created: string; description: string; featured: boolean; title: string; url: string; raw_url: string; } export interface ProjectVersion { /** * The ID of the version, encoded as a base62 string */ id: string; /** * The ID of the project this version is for */ project_id: string; /** * The ID of the author who published this version */ author_id: string; /** * Whether the version is featured or not */ featured: boolean; /** * The name of this version */ name: string; /** * The version number. Ideally will follow semantic versioning */ version_number: string; /** * The changelog for this version of the mod. */ changelog?: string; /** * DEPRECATED A link to the changelog for this version of the mod */ changelog_url?: string; /** * The date that this version was published */ date_published: string; /** * The number of downloads this specific version has */ downloads: number; /** * The type of the release - alpha, beta, or release */ version_type: string; /** * A list of files available for download for this version */ files: Array; /** * A list of specific versions of mods that this version depends on */ dependencies: Array<{ version_id: string | null; project_id: string; dependency_type: 'required' | 'optional' | 'incompatible' | 'embedded'; }>; /** * A list of versions of Minecraft that this version of the mod supports */ game_versions: Array; /** * The mod loaders that this version supports */ loaders: Array; } export interface ModVersionFile { /** * A map of hashes of the file. The key is the hashing algorithm and the value is the string version of the hash. */ hashes: Record; /** * A direct link to the file */ url: string; /** * The name of the file */ filename: string; primary: boolean; /** * The size of the file in bytes */ size: number; } export interface License { /** * The license id of a mod, retrieved from the licenses get route */ id: string; /** * The long for name of a license */ name: string; /** * The URL to this license */ url: string; } export interface DonationLink { /** * The platform id of a mod, retrieved from the donation platforms get route */ id: string; /** * The long for name of a platform */ platform: string; /** * The URL to this donation link */ url: string; } export interface TeamMember { team_id: string; user: { /** * The user's username */ username: string; /** * The user's display name */ name?: string; /** * The user's email (only your own is ever displayed) */ email?: string; /** * A description of the user */ bio: string; /** * The user's id */ id: string; /** * The user's github id */ github_id?: number; /** * The user's avatar url */ avatar_url: string; /** * The time at which the user was created */ created: string; /** * The user's role */ role: 'admin' | 'moderator' | 'developer'; }; role: string; /** * The user's permissions in bitfield format (requires authorization to view) * * In order from first to eighth bit, the bits are: * * - UPLOAD_VERSION * - DELETE_VERSION * - EDIT_DETAILS * - EDIT_BODY * - MANAGE_INVITES * - REMOVE_MEMBER * - EDIT_MEMBER * - DELETE_PROJECT */ permissions: number; accept: boolean; } //# sourceMappingURL=types.d.ts.map