import { AddressView, BitcoinNetowkType } from '../../address/index.js'; import { PublicKey, PublicKeyInitData } from '../../crypto/index.js'; /** * A Secp256k1 public key */ export declare class Secp256k1PublicKey extends PublicKey { static SCHNORR_PUBKEY_SIZE: number; static ECDSA_PUBKEY_SIZE: number; private readonly data; /** * Create a new Secp256k1PublicKey object * @param value secp256k1 public key as buffer or base-64 encoded string */ constructor(value: PublicKeyInitData); /** * Checks if two Secp256k1 public keys are equal */ equals(publicKey: Secp256k1PublicKey): boolean; /** * Return the byte array representation of the Secp256k1 public key */ toBytes(): Uint8Array; toString(): string; /** * Return the Bitcoin address associated with this Secp256k1 public key */ toAddress(): AddressView; toAddressWith(network: BitcoinNetowkType): AddressView; /** * Return the Rooch address associated with this Secp256k1 public key */ flag(): number; /** * Verifies that the ecdsa signature is valid for the provided sha256 hashed message with 33 bytes public key */ verify(message: Uint8Array, signature: Uint8Array): Promise; /** * Verifies that the schnorr signature is valid for the provided message with 32 bytes public key */ verify_schnorr(message: Uint8Array, signature: Uint8Array): Promise; }