import { PhantomUser } from '../modules/phantom-mode/phantom-user'; import { TransactionsModule } from '../modules/widget-mode/transactions-module'; import { UserModule } from '../modules/widget-mode/user-module'; import { LoginWithMagicLinkConfiguration, WidgetModeConfiguration, WidgetModeGSNConfiguration } from '../types'; import { FmProvider } from './fm-provider'; import { QueryParameters } from '../util/query-params'; /** * Base class for Fortmatic SDKs */ export declare abstract class SDK { private static __provider__; readonly endpoint: string; readonly encodedQueryParams: string; readonly apiKey: string; readonly gsnRelay?: boolean; constructor(options: { apiKey: string; ethNetwork?: QueryParameters['ETH_NETWORK']; endpoint: string; gsnRelay?: boolean; }); /** * Gets a Web3-compatible provider. */ getProvider(): FmProvider; } /** * The entry-point to whitelabeled, headless Fortmatic APIs. */ export declare class PhantomMode extends SDK { readonly user: PhantomUser; constructor(apiKey: string, ethNetwork?: QueryParameters['ETH_NETWORK']); /** * Initiate the "magic link" login flow for a user. */ loginWithMagicLink(configuration: LoginWithMagicLinkConfiguration): Promise; } /** * The entry-point to core Fortmatic APIs. */ export declare class WidgetMode extends SDK { static readonly Phantom: typeof PhantomMode; readonly transactions: TransactionsModule; readonly user: UserModule; constructor(apiKey: string, ethNetwork?: QueryParameters['ETH_NETWORK'], gsnRelayOptions?: WidgetModeGSNConfiguration); /** * Apply configuration to customize Fortmatic's Ethereum functionality. */ configure(configuration?: WidgetModeConfiguration): Promise; } export declare const Fortmatic: typeof WidgetMode;