import { EventEmitter } from 'events' import { ChildProcess } from 'child_process' export function offline (playerName: string): () => { displayName: string, uuid: string } export function yggdrasil (email: string, password: string, url?: string): () => Promise<{ displayName: string, uuid: string, clientToken: string, accessToken: string, properties: string }> export default class MCLauncher { constructor ({}: { root?: string, java?: string, env?: boolean, event? (events: EventEmitter): void, unpack? (nativePath: string, filePath: string, exclude: string[]): string[] }) constructor (java?: string, root?: string, event?: (events: EventEmitter) => void) getVersions (): Promise getEmtter (): EventEmitter getJava (): string setJava (java: string): void getRoot (): string setRoot (root: string): Promise launch (version: string, authenticator?: Function): Promise launch ({}: { version: string, authenticator?: Function, versionType?: string, maxMemory?: number, minMemory?: number, server?: { address: string, port?: number }, size?: { fullScreen?: boolean, height?: number, width?: number }, launcherName?: string, launcherVersion?: string, advencedArguments?: string[], cgcEnabled?: boolean, agentPath?: string, features?: { [key: string]: boolean } }): Promise } export const Tools: { dirExists (dirName: string): Promise fileExists (fileName: string): Promise randomUuid (): string findJava (): Promise findJavaFast (useEnv?: boolean, key?: string): Promise findJavaInternal (key?: string): Promise }