import { PublicKey } from './public-key.js'; import type { HdKeyNetwork, HdPublicNodeValid } from '@bitauth/libauth'; /** * Hierarchically Deterministic Public Node Entity. */ export declare class HDPublicNode { readonly node: HdPublicNodeValid; /** * Construct a new HD Public Node. * * @param node {HdPublicNode} The HD Public Node. */ constructor(node: HdPublicNodeValid); /** * Creates a HD Public Node from the given XPriv Key. * * @param xpub {string} The XPriv Key. * * @throws {Error} If HD Public Node cannot be created. * * @returns {HDPrivateNode} The created HD Public Node. */ static fromXPub(xpub: string): HDPublicNode; static fromRaw(node: HdPublicNodeValid): HDPublicNode; static isXPub(xpub: string): boolean; /** * Gets the Public Key Entity for this node. * * @returns The Public Key Entity for this node. */ publicKey(): PublicKey; /** * Derives a HD Public Node from the given BIP32 path. * * @param path The BIP32 Path (e.g. m/44'/145'/0'/0/1). * * @throws {Error} If HD Public Node cannot be derived. * * @returns The derived HD Public Node */ derivePath(path: string): HDPublicNode; /** * Converts this node to an XPub Key for export. * * @param network The network to encode for. * * @returns The XPub Key. */ toXPub(network?: HdKeyNetwork): string; toRaw(): HdPublicNodeValid; /** * Returns the XPub string for this node. * * @returns {string} The XPub string for this node. */ toString(): string; }