import { BaseWallet } from './base-wallet.js'; import { type WalletTransactions, type TransactionTemplate } from './types.js'; import { type WalletServices } from './types.js'; import { type BaseBlockchain, type BlockchainUTXOs } from '../blockchain'; import { type BaseStore } from '../storage'; import { Address, ExtMap, PrivateKey } from '@xocash/primitives'; export type WalletP2PKHGenesisData = { type: 'WalletP2PKH'; privateKey: string; }; export type WalletP2PKHEvents = { transactionsUpdated: WalletTransactions; unspentsUpdated: BlockchainUTXOs; stateUpdated: string | null; }; /** * @example * ```ts * // Instantiate P2PKH Wallet. * const walletP2PKH = WalletP2PKH.fromWIF('someWif'); * * // Start monitoring the balance. * await walletP2PKH.startMonitoring(); * ``` */ export declare class WalletP2PKH extends BaseWallet { blockchain: BaseBlockchain; store: BaseStore; cache: BaseStore; privateKey: PrivateKey; isStarted: boolean; status: string | null; constructor(blockchain: BaseBlockchain, store: BaseStore, cache: BaseStore, privateKey: PrivateKey); static from(this: T, services: WalletServices, genesisData?: WalletP2PKHGenesisData): Promise>; static fromBytes(this: T, services: WalletServices, privateKeyBytes: Uint8Array): Promise>; static fromHex(this: T, services: WalletServices, privateKeyHex: string): Promise>; static fromWIF(this: T, services: WalletServices, privateKeyWif: string): Promise>; static generateRandom(this: T, services: WalletServices): Promise>; getId(): Promise>; start(): Promise; stop(): Promise; destroy(): Promise; getTransactions(): Promise, Uint8Array, bigint>[]; hash: import("@xocash/primitives").TransactionHash; height: number; transaction: import("@xocash/primitives").Transaction; }>>; getUnspents(): Promise; getUnspentDirectives(): Promise<{ outpointIndex: number; outpointTransactionHash: Uint8Array; sequenceNumber: number; unlockingBytecode: { compiler: import("@bitauth/libauth").Compiler, import("@bitauth/libauth").AuthenticationProgramStateCommon>; data: { keys: { privateKeys: { key: Uint8Array; }; }; }; script: string; token: { amount: bigint; category: Uint8Array; nft?: { capability: `${import("@bitauth/libauth").NonFungibleTokenCapability}`; commitment: Uint8Array; } | undefined; } | undefined; valueSatoshis: bigint; }; }[]>; getBalanceSats(): Promise; getBalanceTokens(): Promise; getAddresses(): Promise>; getReceivingAddress(): Promise
; signTransaction(txTemplate: Partial): Promise>; sendTransaction(txTemplate: Partial): Promise; private onAddressNotification; export(): Promise; addActivity(activity: T): Promise; } export type WalletP2PKHFactory = (services: WalletServices, genesisData?: WalletP2PKHGenesisData) => Promise; export declare function useWalletP2PKH(services: WalletServices, genesisData?: WalletP2PKHGenesisData): Promise;