import { BehaviorSubject } from 'rxjs'; import { Account, AuthenticationProvider, AuthenticationStorage, AuthSession, ExternalUriOpener, UserinfoProvider } from '../types/auth'; import { Newable } from '../types/protocol'; export declare abstract class Auth { /** * 获取当前认证会话。 * @returns {Promise} 当前的认证会话。 */ static getSession(): Promise; /** * 获取当前认证会话的 BehaviorSubject,可用于订阅会话变化。 * @returns {Promise>} 认证会话的可观察对象。 */ static getSession$(): Promise>; /** * 执行登录操作。 * @returns {Promise} 登录完成后返回。 */ static login(): Promise; /** * 执行登出操作。 * @returns {Promise} 登出完成后返回。 */ static logout(): Promise; /** * 刷新当前认证会话。 * @returns {Promise} 刷新完成后返回。 */ static refreshSession(): Promise; /** * 切换账号。 * @returns {Promise} 切换完成后返回。 */ static switchAccount(account: Account): Promise; /** * 注册自定义认证提供者。 * @param constructor 认证提供者的构造函数。 * @returns {Promise} 注册完成后返回。 */ static registerAuthenticationProvider(constructor: Newable): Promise; /** * 注册自定义认证存储。 * @param constructor 认证存储的构造函数。 * @returns {Promise} 注册完成后返回。 */ static registerAuthenticationStorage(constructor: Newable): Promise; /** * 注册自定义外部 URI 打开器。 默认通过外链方式发起登录,打开外链会调用当前注册的外部 URI 打开器。 * @param constructor 外部 URI 打开器的构造函数。 */ static registerExternalUriOpener(constructor: Newable): Promise; /** * 通过注册这个 provider 简单地向程序提供当前的用户信息。 * 并非通过 login/logout 等方式进行认证。 * @param constructor 用户信息提供者的构造函数。 */ static registerUserinfoProvider(constructor: Newable): Promise; } //# sourceMappingURL=auth.d.ts.map