import { BaseOwnedSigner, Trx, FinalizeTrxResponse, UndecoratedBasicTrxDetails, UndecoratedTrxDetails, Utxo, PolicyPathSelector, PolicyPathsResult } from "./types" type BalancePayload = { confirmed: number immature: number trusted_pending: number untrusted_pending: number } export interface Wallet { /** * @returns {string} */ get_new_address(): string; /** * @returns {Promise} */ sync(): Promise; /** * @param {string} address * @param {string} amount * @param {string} fee_rate * @param {Map>} policy_path * @returns {Promise} */ build_trx(address: string, amount: string, fee_rate: string, policy_path?: Map>, utxos?: Array, frozen_utxos?: Array): Promise; /** * @returns {Map} */ get_policy(): Map; /** * @returns {any} */ get_balance(): BalancePayload; finalize_trx(psbts: string[], broadcast: boolean): Promise; get_trxs(): Promise>; get_trx(txid: string): Promise; get_utxos(): Array; network(): string; get_policy_path_from_signer(signer: BaseOwnedSigner): PolicyPathSelector | null get_policy_paths_from_signers(signers: Array): PolicyPathsResult | null search_used_signers(signers: Array): Array } export interface BitcoinUtil { walletSyncTimeGap: number //minutes that have to pass after the last sync, to require another sync when performing an operation toDescriptor(miniscript: string): string toMiniscript(descriptor: string): string createWallet(descriptor): Wallet canFinalizePsbt(psbts: string[]): boolean getTrxId(trx: any): string getFee(psbt: string): number getPsbtUtxos(psbt: string): Array }