/** * Bitcoin RPC Client * Handles communication with Bitcoin Core nodes */ export interface BitcoinRPCConfig { url: string; username: string; password: string; timeout?: number; } export interface BitcoinBlock { hash: string; confirmations: number; size: number; weight: number; height: number; version: number; merkleroot: string; tx: string[]; time: number; nonce: number; bits: string; difficulty: number; chainwork: string; previousblockhash?: string; nextblockhash?: string; } export declare class BitcoinRPCClient { private client; private id; constructor(config: BitcoinRPCConfig); private call; getBlockchainInfo(): Promise<{ chain: string; blocks: number; headers: number; bestblockhash: string; difficulty: number; mediantime: number; }>; getBlockCount(): Promise; getBlock(blockhash: string, verbosity?: number): Promise; getBlockHash(height: number): Promise; validateAddress(address: string): Promise<{ isvalid: boolean; address?: string; scriptPubKey?: string; isscript?: boolean; iswitness?: boolean; }>; getNewAddress(label?: string, addressType?: string): Promise; listUnspent(minconf?: number, maxconf?: number, addresses?: string[]): Promise>; createRawTransaction(inputs: Array<{ txid: string; vout: number; }>, outputs: Record): Promise; signRawTransactionWithWallet(hexstring: string): Promise<{ hex: string; complete: boolean; errors?: Array<{ txid: string; vout: number; scriptSig: string; sequence: number; error: string; }>; }>; sendRawTransaction(hexstring: string): Promise; getTransaction(txid: string, includeWatchonly?: boolean): Promise<{ amount: number; confirmations: number; blockhash?: string; blockheight?: number; blockindex?: number; blocktime?: number; txid: string; time: number; timereceived: number; hex: string; }>; estimateSmartFee(confTarget: number, estimateMode?: string): Promise<{ feerate?: number; errors?: string[]; blocks: number; }>; getBalance(minconf?: number): Promise; listTransactions(label?: string, count?: number, skip?: number): Promise>; getNetworkInfo(): Promise<{ version: number; subversion: string; protocolversion: number; localservices: string; localrelay: boolean; timeoffset: number; networkactive: boolean; connections: number; networks: Array<{ name: string; limited: boolean; reachable: boolean; proxy: string; }>; }>; getPeerInfo(): Promise>; ping(): Promise; uptime(): Promise; } //# sourceMappingURL=bitcoin-rpc-client.d.ts.map