UNPKG

@venly/connect

Version:

Venly Connect SDK

63 lines (62 loc) 2.41 kB
import { KeycloakInstance } from 'keycloak-js'; import { LoginResult } from './Security'; import { Api } from '../api/Api'; import { WindowMode } from '../models/WindowMode'; import { PopupResult } from '../popup/PopupResult'; import { PopupSigner } from '../signer/PopupSigner'; import { Signer, SignMethod } from '../signer/Signer'; import { Flows } from './Flows'; import { PopupOptions } from '../popup/Popup'; export declare class VenlyConnect { api: Api; signUsing: WindowMode; flows: Flows; windowMode: WindowMode; useOverlayWithPopup: boolean; _bearerTokenProvider: () => string; loginResult?: LoginResult; private clientId; private auth?; constructor(clientId: string, options?: ConstructorOptions); get signer(): Signer; checkAuthenticated(options?: AuthenticationOptions): Promise<AuthenticationResult>; logout(options?: AuthenticationOptions): Promise<void>; addOnTokenRefreshCallback(tokenRefreshCallback?: (token: string) => void): void; createSigner(windowMode?: WindowMode, popupOptions?: PopupOptions): Signer; isPopupSigner(signer: Signer): signer is PopupSigner; authenticate(options?: AuthenticationOptions): Promise<AuthenticationResult>; manageWallets(chain: string, options?: { redirectUri?: string; correlationID?: string; windowMode?: WindowMode; }): Promise<PopupResult | void>; linkWallets(options?: { redirectUri?: string; correlationID?: string; windowMode?: WindowMode; }): Promise<PopupResult | void>; _afterAuthenticationForFlowUse(loginResult: LoginResult): AuthenticationResult; private afterAuthentication; } export interface AuthenticationResult { auth?: KeycloakInstance; isAuthenticated: boolean; authenticated: (onAuthenticated: (auth: KeycloakInstance) => void) => AuthenticationResult; notAuthenticated: (onNotAuthenticated: (auth?: KeycloakInstance) => void) => AuthenticationResult; } export interface ConstructorOptions { chains?: string[]; environment?: string; windowMode?: WindowMode; signUsing?: SignMethod; bearerTokenProvider?: () => string; useOverlayWithPopup?: boolean; } export interface AuthenticationOptions { redirectUri?: string; windowMode?: WindowMode; closePopup?: boolean; idpHint?: 'password' | string; emailHint?: string; forcePopup?: boolean; }