export interface Peer { host: string; ssl?: number; tcp?: number; protocol?: string; } export interface StartConfig { network: string; customPeers?: Peer[]; } export interface ElectrumResponse { error: boolean; data?: string; method?: string; } export interface ElectrumClientNative { start(config: StartConfig): Promise; stop(network: string): Promise; pingServer(network: string): Promise; getHeader(network: string, height: number): Promise; getBalance(network: string, scriptHashes: string[]): Promise; subscribeHeader(network: string): Promise; getAddressScriptHashesHistory(network: string, scriptHashes: string[]): Promise; getTransactions(network: string, txHashes: string[]): Promise; getTransactionMerkle(network: string, txHash: string, height: number): Promise; broadcastTransaction(network: string, rawTx: string): Promise; } /** * Start a connection to an Electrum server * @param config - Configuration object containing network and optional custom peers * @returns Promise resolving to ElectrumResponse */ export declare function start(config: StartConfig): Promise; /** * Stop the connection to an Electrum server * @param network - Network name (e.g., 'bitcoin', 'bitcoinTestnet') * @returns Promise resolving to ElectrumResponse */ export declare function stop(network: string): Promise; /** * Ping the connected Electrum server * @param network - Network name * @returns Promise resolving to ElectrumResponse */ export declare function pingServer(network: string): Promise; /** * Get a block header at a specific height * @param network - Network name * @param height - Block height * @returns Promise resolving to ElectrumResponse containing the block header */ export declare function getHeader(network: string, height: number): Promise; /** * Get balance for multiple script hashes * @param network - Network name * @param scriptHashes - Array of script hashes to check * @returns Promise resolving to ElectrumResponse containing balance information */ export declare function getBalance(network: string, scriptHashes: string[]): Promise; /** * Subscribe to blockchain headers for updates * @param network - Network name * @returns Promise resolving to ElectrumResponse containing current header */ export declare function subscribeHeader(network: string): Promise; /** * Get transaction history for multiple script hashes * @param network - Network name * @param scriptHashes - Array of script hashes * @returns Promise resolving to ElectrumResponse containing transaction history */ export declare function getAddressScriptHashesHistory(network: string, scriptHashes: string[]): Promise; /** * Get full transaction data for multiple transactions * @param network - Network name * @param txHashes - Array of transaction hashes * @returns Promise resolving to ElectrumResponse containing transaction data */ export declare function getTransactions(network: string, txHashes: string[]): Promise; /** * Get merkle proof for a transaction * @param network - Network name * @param txHash - Transaction hash * @param height - Block height * @returns Promise resolving to ElectrumResponse containing merkle proof */ export declare function getTransactionMerkle(network: string, txHash: string, height: number): Promise; /** * Broadcast a raw transaction to the network * @param network - Network name * @param rawTx - Raw transaction hex * @returns Promise resolving to ElectrumResponse containing transaction ID */ export declare function broadcastTransaction(network: string, rawTx: string): Promise; declare const _default: { start: typeof start; stop: typeof stop; pingServer: typeof pingServer; getHeader: typeof getHeader; getBalance: typeof getBalance; subscribeHeader: typeof subscribeHeader; getAddressScriptHashesHistory: typeof getAddressScriptHashesHistory; getTransactions: typeof getTransactions; getTransactionMerkle: typeof getTransactionMerkle; broadcastTransaction: typeof broadcastTransaction; }; export default _default; //# sourceMappingURL=index.d.ts.map