import { Launcher } from "../launcher.js";
import { ContentVersion } from "./download/ContentService.js";
export type ModDisplayInfo = {
    id: string;
    version: string;
    name?: string;
    description?: string;
    license?: string;
    isJIJLib: boolean;
};
export declare function modDisplayInfoToString(launcher: Launcher, mod: ModDisplayInfo): string;
export declare class ModInfo<T> {
    loader: string;
    data: T;
    private launcher;
    constructor(loader: string, data: T, launcher: Launcher);
    getInfo(): ModDisplayInfo;
}
export declare class ModJarInfo {
    readonly path: string;
    private readonly launcher;
    manifests: ModInfo<unknown>[];
    private constructor();
    static of(path: string, launcher: Launcher, loaders: string[]): Promise<ModJarInfo>;
    tryGetModOnline(service: string): Promise<ContentVersion | null>;
}
