import type { ModLoader } from 'tomate-mods';
import type { LaunchConfig } from '..';
export declare const id = "forge";
export declare const url = "https://files.minecraftforge.net/";
export declare function downloadForge(forgeFilePath: string, loaderVersion: string): Promise<void>;
export declare function getMavenMetadata(): Promise<any>;
/**
 * Returns all loader versions. Note that these might not be available for all game versions
 * On forge they are structured like this: `${gameVersion}-${loaderVersion}`
 */
export declare function listAllLoaderVersions(): Promise<`${string}-${string}`[]>;
/**
 * Returns all loader versions that are available for a given game version.
 * On forge they are structured like this: `${gameVersion}-${loaderVersion}`
 */
export declare function listLoaderVersions(gameVersion: string): Promise<`${string}-${string}`[]>;
/**
 * Downloads the latest version json and returns a partial MCLC config
 */
export declare function getMCLCLaunchConfig(config: LaunchConfig): Promise<{
    root: string;
    clientPackage: never;
    version: {
        number: string;
        type: string;
        custom: string;
    };
    forge: string;
}>;
/**
 * Returns all game versions a loader supports
 */
export declare function listSupportedGameVersions(): Promise<{
    version: string;
    stable: boolean;
}[]>;
/**
 * The loader config for the 'tomate-mods' package
 */
export declare const tomateModsModLoader: ModLoader;
