import * as utxolib from '@bitgo-beta/utxo-lib'; declare type Unspent = utxolib.bitgo.Unspent; import { BitGoBase, IWallet } from '@bitgo-beta/sdk-core'; import { AbstractUtxoCoin, TransactionInfo } from '../abstractUtxoCoin'; export interface ExplorerTxInfo { input: { address: string; }[]; outputs: { address: string; }[]; } export declare class BitgoPublicApi { coin: AbstractUtxoCoin; constructor(coin: AbstractUtxoCoin); getTransactionInfo(txid: string): Promise; /** * Fetch unspent transaction outputs using IMS unspents API * @param addresses * @param amountType * @returns {*} */ getUnspentInfo(addresses: string[], amountType?: 'number' | 'bigint'): Promise[]>; } export interface BuildRecoveryTransactionOptions { wallet: string; faultyTxId: string; recoveryAddress: string; } declare type FeeInfo = { size: number; feeRate: number; fee: number; payGoFee: number; }; export interface CrossChainRecoveryUnsigned { txHex: string; txInfo: TransactionInfo; walletId: string; feeInfo: FeeInfo; address: string; coin: string; } export interface CrossChainRecoverySigned { version: 1 | 2; txHex: string; txInfo: TransactionInfo; walletId: string; sourceCoin: string; recoveryCoin: string; recoveryAddress?: string; recoveryAmount?: TNumber; } declare type WalletV1 = { keychains: { xpub: string; }[]; address({ address: string }: { address: any; }): Promise<{ chain: number; index: number; }>; getEncryptedUserKeychain(): Promise<{ encryptedXprv: string; }>; }; export declare function getWallet(bitgo: BitGoBase, coin: AbstractUtxoCoin, walletId: string): Promise; declare type RecoverParams = { /** Wallet ID (can be v1 wallet or v2 wallet) */ walletId: string; /** Coin to create the transaction for */ sourceCoin: AbstractUtxoCoin; /** Coin that wallet keys were set up for */ recoveryCoin: AbstractUtxoCoin; /** Source coin transaction to recover outputs from (sourceCoin) */ txid: string; /** Source coin address to send the funds to */ recoveryAddress: string; /** If set, decrypts private key and signs transaction */ walletPassphrase?: string; /** If set, signs transaction */ xprv?: string; }; /** * Recover wallet deposits that were received on the wrong blockchain * (for instance bitcoin deposits that were received for a litecoin wallet). * * Fetches the unspent data from BitGo's public blockchain API and the script data from the user's * wallet. * * @param {BitGoBase} bitgo * @param {RecoverParams} params */ export declare function recoverCrossChain(bitgo: BitGoBase, params: RecoverParams): Promise | CrossChainRecoveryUnsigned>; export {}; //# sourceMappingURL=crossChainRecovery.d.ts.map