import { IHDKey } from '../crypto/bip32/hdwallet-token'; import { WalletOptions } from '../types/wallet'; import { Transaction, NETWORK } from '@scure/btc-signer'; import { P2Ret } from '@scure/btc-signer/payment'; export type BTCWalletOptions = WalletOptions & { network: typeof NETWORK; }; export declare abstract class BtcWallet { abstract getAccountsWithPrivKey(): Array<{ algo: string; address: string; addressInfo: P2Ret; pubkey: Uint8Array; privateKey: Uint8Array; }>; getAccounts(): { algo: string; address: string; pubkey: Uint8Array; }[]; signPsbt(address: string, psbt: string): { tx: Transaction; signTx: () => void; }; signIdx(address: string, tx: Transaction, idx: number): void; signECDSA(address: string, hash: Uint8Array): Promise<{ signature: import("@noble/secp256k1").Bytes; recoveryParam: number; }>; } export declare class BtcWalletHD extends BtcWallet { private hdKey; private options; constructor(hdKey: IHDKey, options: BTCWalletOptions); static generateWalletFromMnemonic(mnemonic: string, options: BTCWalletOptions): BtcWalletHD; getAccountsWithPrivKey(): Array<{ algo: string; address: string; addressInfo: P2Ret; pubkey: Uint8Array; privateKey: Uint8Array; }>; } export declare class BtcWalletPk extends BtcWallet { private privateKey; private options; constructor(privateKey: string, options: BTCWalletOptions); getAccountsWithPrivKey(): { algo: string; address: string; addressInfo: P2Ret; pubkey: Uint8Array; privateKey: Uint8Array; }[]; }