import { DomainResolver, IssuerResolver } from '@uauth/common'; import { Api, AuthorizeRequest, AuthorizeResponse, LogoutRequest, LogoutResponse, PopupConfig } from './api'; import { Store, StoreType } from './store'; import { Authorization, AuthorizationOptions, VerifiedAddress, BaseLoginOptions, BaseLogoutOptions, CacheOptions, ClientOptions, LoginCallbackOptions, LoginCallbackResponse, LoginOptions, LogoutCallbackOptions, LogoutOptions, UserInfo, UserOptions } from './types'; import * as util from './util'; export default class Client { util: typeof util; private _clientStore; api: Api; fallbackIssuer: string; fallbackLoginOptions: BaseLoginOptions; fallbackLogoutOptions: BaseLogoutOptions; cacheOptions: CacheOptions; issuerResolver: IssuerResolver; resolution: DomainResolver; store?: Store; storeOptions: { store?: Store; storeType: StoreType; }; getStore(): Store; constructor(options: ClientOptions); buildAuthorizeRequest(options: Partial): Promise; loginWithPopup(options?: Partial>, config?: PopupConfig): Promise; login(options?: Partial): Promise; loginCallback(options?: Partial): Promise>; verifyAuthorizeResponse(request: AuthorizeRequest, response: AuthorizeResponse): Promise; getVerifiedAccounts(authorization: Authorization, symbols?: string[]): VerifiedAddress[]; getAuthorizationAccount(authorization: Authorization, type?: string, version?: string): VerifiedAddress | undefined; getOpenIdConfiguration(username?: string): Promise; authorization(options?: AuthorizationOptions): Promise; checkPremiumScopes(scopes: string): boolean; user(options?: UserOptions): Promise; buildLogoutRequest(options: LogoutOptions): Promise; logout({ clientID, username, scope, resource, ...options }?: Partial): Promise; logoutCallback(options?: LogoutCallbackOptions): Promise; verifyLogoutResponse(request: LogoutRequest, response: LogoutResponse): Promise; }