import { CreateTxOptions } from '@xpla/xpla.js'; import { IPushServerOptions, IWalletConnectOptions } from '@walletconnect/types'; import { Observable } from 'rxjs'; import { WalletConnectSession, WalletConnectTxResult } from './types'; export interface WalletConnectControllerOptions { /** * Configuration parameter that `new WalletConnect(connectorOpts)` * * @default * ```js * { * bridge: 'https://walletconnect.xpla.io/', * qrcodeModal: new C2XWalletconnectQrcodeModal(), * } * ``` */ connectorOpts?: IWalletConnectOptions; /** * Configuration parameter that `new WalletConnect(_, pushServerOpts)` * * @default undefined */ pushServerOpts?: IPushServerOptions; } export interface WalletConnectController { session: () => Observable; getLatestSession: () => WalletConnectSession; post: (tx: CreateTxOptions) => Promise; disconnect: () => void; } export declare function connectIfSessionExists(options?: WalletConnectControllerOptions): WalletConnectController | null; export declare function connect(options?: WalletConnectControllerOptions, useCachedSession?: boolean): WalletConnectController;