type getAuthClientArgs = {
    gitHubProxyBaseUrl: string;
    githubAppName: string;
    githubAppClientId: string;
};
export declare function getAuthClient({ gitHubProxyBaseUrl, githubAppName, githubAppClientId, }: getAuthClientArgs): {
    /**
     * Login user in new window.
     *
     * Read https://docs.github.com/en/developers/apps/building-oauth-apps/authorizing-oauth-apps#1-request-a-users-github-identity
     * works only in browsers for now, but other methods should be supported in future
     */
    login({ redirect }?: {
        redirect: string;
    }): Promise<void>;
    addPermissions(): Promise<void>;
    logout(): Promise<void>;
    /**
     * Get the user info from the GitHub API.
     *
     * Read https://docs.github.com/en/rest/users/users?apiVersion=2022-11-28#get-the-authenticated-user
     *
     * @throws
     */
    getUser(): Promise<{
        username: string;
        email: string;
        avatarUrl?: string | undefined;
    }>;
};
export {};
//# sourceMappingURL=browser-auth.d.ts.map