import { MinecraftLocation } from '@xmcl/core';
import { DownloadBaseOptions } from '@xmcl/file-transfer';
import { Task } from '@xmcl/task';
import { Dispatcher } from 'undici';
export interface LabyModManifest {
    labyModVersion: string;
    commitReference: string;
    sha1: string;
    releaseTime: number;
    size: number;
    assets: {
        shader: string;
        common: string;
        fonts: string;
        'vanilla-theme': string;
        'fancy-theme': string;
        i18n: string;
    };
    minecraftVersions: MinecraftVersion[];
}
interface MinecraftVersion {
    tag: string;
    version: string;
    index: number;
    type: string;
    runtime: {
        name: string;
        version: number;
    };
    customManifestUrl: string;
}
export declare function getLabyModManifest(env?: string, options?: {
    dispatcher?: Dispatcher;
}): Promise<LabyModManifest>;
export interface InstallLabyModOptions extends DownloadBaseOptions {
    dispatcher?: Dispatcher;
    environment?: string;
}
export declare function installLabyMod4Task(manifest: LabyModManifest, tag: string, minecraft: MinecraftLocation, options?: InstallLabyModOptions): Task<string>;
export declare function installLaby4Mod(manifest: LabyModManifest, tag: string, minecraft: MinecraftLocation, options?: InstallLabyModOptions): Promise<string>;
export {};
//# sourceMappingURL=labymod.d.ts.map