/** * Web Crypto helpers shared across runtime targets (Cloudflare Workers, Node * 19+, browsers). Built on `crypto.subtle` so the same implementation runs * inside Workers without a Node-only `node:crypto` import. */ export declare function bytesToBase64Url(bytes: Uint8Array): string; export declare function base64UrlToBytes(input: string): Uint8Array; export declare function randomBase64Url(byteLength: number): string; /** * Prefer this over the global `crypto.randomUUID()`, which is secure-context-only * and therefore undefined over plain `http://`. `uuid`'s v4 is backed by * `crypto.getRandomValues`, which carries no such restriction. */ export declare function randomUUID(): string; /** Strings use UTF-8; binary inputs are hashed unchanged. */ export declare function sha256Hex(input: string | Parameters[1]): Promise; export declare function constantTimeEqual({ left, right, }: { left: Uint8Array; right: Uint8Array; }): boolean; export declare function getHmacSha256Hex({ rawBody, signingKey, }: { rawBody: string; signingKey: string; }): Promise; export declare function deterministicUUID(value: string): string;