/** * Browser Crypto Provider * * Implementation using @noble/hashes and @noble/ciphers for cross-platform support. * These libraries work in both Node.js and browsers. */ import type { CryptoProvider } from './types'; /** * Browser-compatible crypto provider using @noble libraries. */ export declare const browserCrypto: CryptoProvider; /** Alias for conditional import resolution via `#crypto-provider`. */ export { browserCrypto as cryptoProvider }; export { isRsaPssAlg, jwtAlgToWebCryptoAlg } from './jwt-alg'; /** * Verify an RSA signature using WebCrypto. * * Supports RS256/RS384/RS512 (RSASSA-PKCS1-v1_5) and PS256/PS384/PS512 (RSA-PSS). * Works in both browsers and Node.js environments that provide `crypto.subtle`. * * @param jwtAlg - JWT algorithm identifier (e.g. 'RS256', 'PS256') * @param data - The signed data (e.g. `headerB64.payloadB64`) * @param publicJwk - Public key in JWK format * @param signature - The signature bytes * @returns true if the signature is valid */ export declare function rsaVerifyBrowser(jwtAlg: string, data: Uint8Array, publicJwk: JsonWebKey, signature: Uint8Array): Promise;