/** Base64url-encode bytes or a UTF-8 string (no padding), per JWT/JWS. */
export declare function base64url(input: ArrayBuffer | Uint8Array | string): string;
/** Decode a base64url string to bytes. */
export declare function base64urlToBytes(value: string): Uint8Array;
/**
 * Decode a PEM private key body to DER bytes. Requires PKCS#8
 * (`-----BEGIN PRIVATE KEY-----`); GitHub issues PKCS#1
 * (`-----BEGIN RSA PRIVATE KEY-----`), which must be converted once via
 * `openssl pkcs8 -topk8 -nocrypt` (see backend/docs/github-operations.md).
 */
export declare function pkcs8PemToDer(pem: string): ArrayBuffer;
/** Constant-time-ish equality for two byte arrays (length + XOR accumulation). */
export declare function timingSafeEqual(a: Uint8Array, b: Uint8Array): boolean;
//# sourceMappingURL=encoding.d.ts.map