import { GameMakerUserData } from './GameMakerLauncher.types.js';
export declare class GameMakerUser {
    protected data: GameMakerUserData;
    constructor(data: GameMakerUserData);
    get isLoggedIn(): boolean | "" | undefined;
    get accessToken(): string | undefined;
    get refreshToken(): string | undefined;
    get userEmail(): string | undefined;
    /**
     * The 'name' part of the user email, used to
     * construct the local username and directory.
     */
    get userName(): string | undefined;
    get userId(): string | undefined;
    /**
     * The APPDATA directory contains a folder for
     * each user, with the basename `${userName}_${userId}`.
     * That is the value provided by this getter.
     * It can be used to specify the user directory for
     * Igor commands.
     */
    get directoryBasename(): string;
    toJSON(): {
        [x: string]: unknown;
        deviceID?: string | undefined;
        login?: string | undefined;
        userID?: string | undefined;
        accessToken?: string | undefined;
        refreshToken?: string | undefined;
    };
    protected static tokenIsExpired(tokenString: string): boolean;
    protected static parseToken(tokenString: string): {
        [x: string]: unknown;
        exp: number;
    };
}
//# sourceMappingURL=GameMakerUser.d.ts.map