// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. export type Arguments = { game: Record; jvm: Record; }; export type AssetIndex = { id: string; sha1: string; size: bigint; url: string; totalSize: bigint | null; }; export type DownloadArtifact = { sha1: string | null; size: bigint | null; url: string; path: string | null; }; export type Downloads = { client: DownloadArtifact; server: DownloadArtifact | null; }; /** * Represents a Minecraft version JSON, supporting both vanilla and modded (Fabric/Forge) formats. * Modded versions use `inheritsFrom` to reference a parent vanilla version. */ export type GameVersion = { id: string; /** * Optional for mod loaders that inherit from vanilla */ downloads: Downloads | null; /** * Optional for mod loaders that inherit from vanilla */ assetIndex: AssetIndex | null; libraries: Array; mainClass: string; minecraftArguments: string | null; arguments: Arguments | null; javaVersion: JavaVersion | null; /** * For mod loaders: the vanilla version this inherits from */ inheritsFrom: string | null; /** * Fabric/Forge may specify a custom assets version */ assets: string | null; /** * Release type (release, snapshot, old_beta, etc.) */ type: string | null; }; export type JavaVersion = { component: string; majorVersion: bigint }; export type Library = { downloads: LibraryDownloads | null; name: string; rules: Array | null; natives: Record; /** * Maven repository URL for mod loader libraries */ url: string | null; }; export type LibraryDownloads = { artifact: DownloadArtifact | null; classifiers: Record; }; export type OsRule = { name: string | null; version: string | null; arch: string | null; }; export type Rule = { action: string; os: OsRule | null; features: Record; };