import { Launcher } from "../../launcher.js";
import { MinecraftVersion } from "../../version.js";
import { Account } from "../account.js";
import { YggdrasilUserData } from "./yggdrasil_data.js";
export declare abstract class YggdrasilAccount<T extends YggdrasilUserData> implements Account<T> {
    data: T;
    protected launcher: Launcher;
    protected root: string;
    constructor(data: T, launcher: Launcher);
    getTokens(): string[];
    abstract prepareLaunch(versionDir: string): Promise<boolean>;
    abstract getLaunchJVMArgs(mc: MinecraftVersion): Promise<string[]>;
    getLaunchGameArgs(): Promise<Map<string, string>>;
    login(): Promise<boolean>;
    check(): Promise<boolean>;
    private refresh;
    getUUID(): string;
    getAccessToken(): Promise<string>;
}
