import * as BN from "bn.js";
export declare function ed25519_get_pubkey_hex(priv: BN | string): string;
/**
 * ed25519_sign
 * @param priv BN or hex string
 * @param messageHex message in hex string
 */
export declare function ed25519_sign(priv: BN | string, messageHex: string): Promise<string>;
/**
 * ed25519_verify
 * @param pubHex public key encode in hex format
 * @param messageHex
 * @param sigHex
 */
export declare function ed25519_verify(pubHex: string, messageHex: string, sigHex: string): boolean;
/**
 * ed25519_hd_sign
 * @param xprv
 * @param path
 * @param messageHex
 */
export declare function ed25519_hd_sign(xprv: string, path: string, messageHex: string): Promise<string>;
/**
 * ed25519_hd_verify
 * @param xpub
 * @param path
 * @param messageHex
 * @param sigHex
 */
export declare function ed25519_hd_verify(xpub: string, path: string, messageHex: string, sigHex: string): boolean;
