import { Address } from './address.js'; /** * Public Key Entity. */ export declare class PublicKey { readonly bytes: Uint8Array; /** * Construct a new Public Key. * * @param bytes The raw bytes (33) for the Public Key. */ constructor(bytes: Uint8Array); /** * Create a Public Key entity from the given hexadecimal string. * * @param publicKeyBytes Uint8Array containing the Public Key bytes. * * @throws {Error} If Public Key cannot be created. * * @returns The created Public Key entity. */ static fromBytes(publicKeyBytes: Uint8Array): PublicKey; /** * Create a Public Key entity from the given hexadecimal string. * * @param publicKeyHex Hexadecimal encoding of the Public Key bytes. * * @throws {Error} If Public Key cannot be created. * * @returns The created Public Key entity. */ static fromHex(publicKeyHex: string): PublicKey; /** * Derive the Hash160 for this Public Key. * * @returns The Hash160 of the Public Key. */ deriveHash160(): Uint8Array; /** * Derive the Hash160 as Hex for this Public Key. * * @returns The Hash160 of the Public Key as hex. */ deriveHash160Hex(): string; /** * Derive the Address for this Public Key. * * @returns The Address for this Public Key. */ deriveAddress(): Address; verifyMessageSchnorr(message: Uint8Array | string, signature: Uint8Array | string): boolean; verifyMessageDER(message: Uint8Array | string, signature: Uint8Array | string): boolean; /** * Verify that a compact message hash was signed with the corresponding Private Key. * * @param messageHash The hash of the message. * @param signature The signature of the message. * * @returns True if signature and message hash verifies, false otherwise.. */ verifyMessageHashCompact(messageHash: Uint8Array, signature: Uint8Array): boolean; /** * Verify that a DER message hash was signed with the corresponding Private Key. * * @param messageHash The hash of the message. * @param signature The signature of the message. * * @returns True if signature and message hash verifies, false otherwise.. */ verifyMessageHashDER(messageHash: Uint8Array | string, signature: Uint8Array | string): boolean; /** * Verify that a Schnorr message hash was signed with the corresponding Private Key. * * @param messageHash The hash of the message. * @param signature The signature of the message. * * @returns True if signature and message hash verifies, false otherwise.. */ verifyMessageHashSchnorr(messageHash: Uint8Array | string, signature: Uint8Array | string): boolean; /** * Encode the raw bytes of this Public Key to a hexadecimal representation. * * @returns The raw bytes Public Key encoded as Hexadecimal. */ toHex(): string; /** * Get the raw bytes of this Public Key. * * @returns The raw bytes of the Public Key. */ toBytes(): Uint8Array; /** * Return the hexadecimal representation of the raw bytes of the Public Key. * * @returns The raw bytes of the Public Key as hexadecimal. */ toString(): string; }