import { Maybe } from "./common/index.js";
import { Permissions } from "./ucan/permissions.js";
/**
 * Retrieve the authenticated username.
 */
export declare function authenticatedUsername(): Promise<string | null>;
/**
 * Leave.
 *
 * Removes any trace of the user and redirects to the lobby.
 */
export declare function leave({ withoutRedirect }?: {
    withoutRedirect?: boolean;
}): Promise<void>;
/**
 * Redirects to a lobby.
 *
 * NOTE: Only works on the main thread, as it uses `window.location`.
 *
 * @param permissions The permissions from `initialise`.
 *                    Pass `null` if working without permissions.
 * @param redirectTo Specify the URL you want users to return to.
 *                   Uses the current url by default.
 * @param extraLobbyParams Extra parameters object. Properties on the
 *                         object are converted to query params and sent
 *                         to the auth lobby.
 */
export declare function redirectToLobby(permissions: Maybe<Permissions>, redirectTo?: string, extraLobbyParams?: Record<string, string>): Promise<void>;
