/** * Web Crypto adapter for browser environments * Uses @noble/ed25519 for Ed25519 operations */ import { CryptoAdapter, KeyPair } from './adapter.js'; /** * Web Crypto implementation using browser APIs and @noble/ed25519 * Uses btoa/atob for base64 encoding and crypto.getRandomValues for random bytes */ export declare class WebCryptoAdapter implements CryptoAdapter { /** * Generate a new Ed25519 key pair locally */ generateKeyPair(): Promise; /** * Sign a message using Ed25519 */ signMessage(privateKey: string, message: string): Promise; /** * Verify an Ed25519 signature */ verifySignature(publicKey: string, message: string, signature: string): Promise; /** * Convert hex string to bytes * @throws Error if hex string is invalid */ hexToBytes(hex: string): Uint8Array; /** * Convert bytes to hex string */ bytesToHex(bytes: Uint8Array): string; bytesToBase64(bytes: Uint8Array): string; base64ToBytes(base64: string): Uint8Array; randomBytes(length: number): Uint8Array; }