@venly/connect
Version:
Venly Connect SDK
63 lines (62 loc) • 2.41 kB
TypeScript
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;
}