@roochnetwork/rooch-sdk-kit
Version:
Rooch SDK Kit
60 lines (59 loc) • 2.15 kB
TypeScript
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;