UNPKG

@roochnetwork/rooch-sdk-kit

Version:
60 lines (59 loc) 2.15 kB
import { Wallet } from './wallet.js'; export declare function getWallets(): Wallets; export interface Wallets { /** * Get all Wallets that have been registered. * * @return Registered Wallets. */ get(): readonly Wallet[]; /** * Add an event listener and subscribe to events for Wallets that are * {@link WalletsEventsListeners.register | registered} and * {@link WalletsEventsListeners.unregister | unregistered}. * * @param event Event type to listen for. {@link WalletsEventsListeners.register | `register`} and * {@link WalletsEventsListeners.unregister | `unregister`} are the only event types. * @param listener Function that will be called when an event of the type is emitted. * * @return * `off` function which may be called to remove the event listener and unsubscribe from events. * * As with all event listeners, be careful to avoid memory leaks. */ on<E extends WalletsEventNames>(event: E, listener: WalletsEventsListeners[E]): () => void; /** * Register Wallets. This can be used to programmatically wrap non-standard wallets as Standard Wallets. * * Apps generally do not need to, and should not, call this. * * @param wallets Wallets to register. * * @return * `unregister` function which may be called to programmatically unregister the registered Wallets. * * Apps generally do not need to, and should not, call this. */ register(...wallets: Wallet[]): () => void; } export interface WalletsEventsListeners { /** * Emitted when Wallets are registered. * * @param wallets Wallets that were registered. */ register(...wallets: Wallet[]): void; /** * Emitted when Wallets are unregistered. * * @param wallets Wallets that were unregistered. */ unregister(...wallets: Wallet[]): void; } /** * Names of {@link WalletsEventsListeners} that can be listened for. * * @group App */ export type WalletsEventNames = keyof WalletsEventsListeners; export declare function register(...wallets: Wallet[]): () => void;