import { IBaseCoin } from '../baseCoin'; import { BitGoBase } from '../bitgoBase'; import { AcceptShareOptions, AddWalletOptions, GenerateWalletOptions, GetWalletByAddressOptions, GetWalletOptions, IWallets, ListWalletOptions, UpdateShareOptions, WalletWithKeychains } from './iWallets'; import { Wallet } from './wallet'; export declare class Wallets implements IWallets { private readonly bitgo; private readonly baseCoin; constructor(bitgo: BitGoBase, baseCoin: IBaseCoin); /** * Get a wallet by ID (proxy for getWallet) * @param params */ get(params?: GetWalletOptions): Promise; /** * List a user's wallets * @param params * @returns {*} */ list(params?: ListWalletOptions): Promise<{ wallets: Wallet[]; }>; /** * add * Add a new wallet (advanced mode). * This allows you to manually submit the keys, type, m and n of the wallet * Parameters include: * "label": label of the wallet to be shown in UI * "m": number of keys required to unlock wallet (2) * "n": number of keys available on the wallet (3) * "keys": array of keychain ids */ add(params: AddWalletOptions): Promise; /** * Generate a new wallet * 1. Creates the user keychain locally on the client, and encrypts it with the provided passphrase * 2. If no pub was provided, creates the backup keychain locally on the client, and encrypts it with the provided passphrase * 3. Uploads the encrypted user and backup keychains to BitGo * 4. Creates the BitGo key on the service * 5. Creates the wallet on BitGo with the 3 public keys above * @param params * @param params.label * @param params.passphrase * @param params.userKey User xpub * @param params.backupXpub Backup xpub * @param params.backupXpubProvider * @param params.enterprise * @param params.disableTransactionNotifications * @param params.passcodeEncryptionCode * @param params.coldDerivationSeed * @param params.gasPrice * @param params.disableKRSEmail * @param params.walletVersion * @param params.multisigType optional multisig type, 'onchain' or 'tss' or 'blsdkg'; if absent, we will defer to the coin's default type * @returns {*} */ generateWallet(params?: GenerateWalletOptions): Promise; /** * List the user's wallet shares * @param params */ listShares(params?: Record): Promise; /** * Gets a wallet share information, including the encrypted sharing keychain. requires unlock if keychain is present. * @param params * @param params.walletShareId - the wallet share to get information on */ getShare(params?: { walletShareId?: string; }): Promise; /** * Update a wallet share * @param params.walletShareId - the wallet share to update * @param params.state - the new state of the wallet share * @param params */ updateShare(params?: UpdateShareOptions): Promise; /** * Resend a wallet share invitation email * @param params * @param params.walletShareId - the wallet share whose invitiation should be resent */ resendShareInvite(params?: { walletShareId?: string; }): Promise; /** * Cancel a wallet share * @param params * @param params.walletShareId - the wallet share to update */ cancelShare(params?: { walletShareId?: string; }): Promise; /** * Accepts a wallet share, adding the wallet to the user's list * Needs a user's password to decrypt the shared key * * @param params * @param params.walletShareId - the wallet share to accept * @param params.userPassword - (required if more a keychain was shared) user's password to decrypt the shared wallet * @param params.newWalletPassphrase - new wallet passphrase for saving the shared wallet prv. * If left blank and a wallet with more than view permissions was shared, * then the user's login password is used. * @param params.overrideEncryptedPrv - set only if the prv was received out-of-band. */ acceptShare(params?: AcceptShareOptions): Promise; /** * Get a wallet by its ID * @param params * @param params.id wallet id * @returns {*} */ getWallet(params?: GetWalletOptions): Promise; /** * Get a wallet by its address * @param params * @param params.address wallet address * @returns {*} */ getWalletByAddress(params?: GetWalletByAddressOptions): Promise; /** * For any given supported coin, get total balances for all wallets of that * coin type on the account. * @param params * @returns {*} */ getTotalBalances(params?: Record): Promise; /** * Generates a TSS or BLS-DKG Wallet. * @param params * @private */ private generateMpcWallet; } //# sourceMappingURL=wallets.d.ts.map