export declare function multiply(a: number, b: number): number;
/** Uint8Array alias for compatibility */
export type Bytes = Uint8Array;
/** Hex-encoded string or Uint8Array. */
export type Hex = Bytes | string;
/** Private key can be hex string, Uint8Array, or bigint. */
export type PrivKey = Hex | bigint;
/**
 * Generate a public key from a private key using the secp256k1 elliptic curve.
 * This is a fast native implementation that matches the noble/secp256k1 API.
 *
 * @param privateKey - The private key as a hex string, Uint8Array, or bigint
 * @param isCompressed - Whether to return compressed (33 bytes) or uncompressed (65 bytes) public key
 * @returns Uint8Array containing the public key bytes
 */
export declare function getPublicKey(privateKey: PrivKey, isCompressed?: boolean): Uint8Array;
/**
 * Compute Keccak-256 hash using native implementation.
 * Accepts multiple input types for maximum flexibility.
 *
 * @param data - The data to hash as string (hex), number[], ArrayBuffer, or Uint8Array
 * @returns Uint8Array containing the 32-byte Keccak-256 hash
 */
export declare function keccak256(data: string | number[] | ArrayBuffer | Uint8Array): Uint8Array;
/**
 * Returns the ethereum address of a given public key using native C++ implementation.
 * Accepts "Ethereum public keys" and SEC1 encoded keys.
 * @param pubKey The two points of an uncompressed key, unless sanitize is enabled
 * @param sanitize Accept public keys in other formats
 * @returns Uint8Array containing the 20-byte Ethereum address
 */
export declare function pubToAddress(pubKey: Uint8Array, sanitize?: boolean): Uint8Array;
/**
 * Compute HMAC-SHA512 using native implementation for better performance.
 *
 * @param key - The HMAC key as Uint8Array
 * @param data - The data to authenticate as Uint8Array
 * @returns Uint8Array containing the 64-byte HMAC-SHA512 result
 */
export declare function hmacSha512(key: Uint8Array, data: Uint8Array): Uint8Array;
/**
 * Generate an Ed25519 public key from a private key using native implementation.
 * This is a fast native implementation that matches the noble/curves ed25519 API.
 *
 * @param privateKey - The 32-byte Ed25519 private key as Uint8Array or hex string
 * @param _compressed - Ignored parameter for API compatibility (Ed25519 keys have no compressed form)
 * @returns Uint8Array containing 32-byte Ed25519 public key
 */
export declare function getPublicKeyEd25519(privateKey: Uint8Array | string, _compressed?: boolean): Uint8Array;
//# sourceMappingURL=index.d.ts.map