/**
 * @author NovaStepStudios
 * @alias StepnickaSantiago
 * @license Apache-2.0
 * @link https://www.apache.org/licenses/LICENSE-2.0
 * @external https://music.youtube.com/watch?v=DVXMmKadzYU&si=ofY-WTm-mFeVsehz Disfrutalo :)
 */
interface Rule {
    action: "allow" | "disallow";
    os?: {
        name?: string;
    };
    features?: {
        is_demo_user?: boolean;
        has_custom_resolution?: boolean;
    };
}
interface MemoryOptions {
    min?: string;
    max?: string;
}
interface WindowOptions {
    width?: number;
    height?: number;
    fullscreen?: boolean;
}
interface Auth {
    name: string;
    uuid?: string;
    accessToken?: string;
    provider?: string;
    userProperties?: {
        value?: string;
    };
    clientId?: string;
    offline?: boolean;
}
export interface Version {
    id: string;
    type?: string | "release";
    javaVersion?: {
        majorVersion: number;
    };
    mainClass?: string;
    assets?: string;
    assetIndex?: {
        id: string;
    };
    minecraftArguments?: string;
    arguments?: {
        game?: (string | {
            rules?: Rule[];
            value: string | string[];
        })[];
    };
    inheritsFrom?: string;
}
interface BuildOptions {
    root: string;
    memory?: MemoryOptions;
    window?: WindowOptions;
    mcFlags?: string[];
    version?: {
        type?: string;
    };
    debug?: boolean;
    javaPath?: string;
}
export declare const ArgumentBuilder: {
    build({ opts, version, auth, classPath, }: {
        opts: BuildOptions;
        version: Version;
        auth: Auth;
        classPath: string[] | string;
    }): string[];
};
export {};
