web-identity-schemas
Version:
TypeScript types and validation schemas for Web Identity and JOSE standards, including:
449 lines (447 loc) • 673 kB
TypeScript
import { ArrayContaining, Base64, Base64Url, BaseCredential, BaseJwk, BasePresentation, BitstringStatusListCredential, BitstringStatusListCredentialSubject, Credential, CredentialSchemaType, CredentialStatus, CredentialStatusType, CredentialSubject, CredentialType, CredentialV1, CredentialV2, CryptographicCurve, DateTimeStamp, Did, DidDocument, DidMethod, DidUrl, EcJwk, EllipticCurve, GenericResource, IdOrObject, JoseAlgorithm, JoseCompressionAlgorithm, JoseSignatureAlgorithm, JoseUnsecuredAlgorithm, JsonLdContext, JsonWebKey, JsonWebKeySet, Jwe, JweCompact, JweContentEncryptionAlgorithm, JweFlattenedJson, JweGeneralJson, JweKeyManagementAlgorithm, JweProtectedHeader, JweRecipient, JweUnprotectedHeader, Jws, JwsCompact, JwsFlattenedJson, JwsGeneralJson, JwsProtectedHeader, JwsSignature, JwsString, JwsUnprotectedHeader, JwtHeader, JwtHeaderBase, JwtHeaderSigned, JwtHeaderUnsecured, JwtObject, JwtObjectSigned, JwtObjectUnsecured, JwtPayload, JwtString, JwtStringParts, KeyOperation, KeyUse, LegacyVerificationMethodType, LooseObject, OctJwk, OctetKeyPairCurve, OkpJwk, OneOrMany, Presentation, PresentationV1, PresentationV2, Proof, ProofPurpose, RsaJwk, Service, ServiceEndpoint, ServiceEndpointMap, StatusList2021Credential, StatusList2021CredentialSubject, StatusPurpose, UnixTimestamp, Uri, Verifiable, VerifiableCredential, VerifiableCredentialType, VerifiableCredentialV1, VerifiableCredentialV2, VerifiablePresentation, VerifiablePresentationType, VerifiablePresentationV1, VerifiablePresentationV2, VerificationMethod, VerificationMethodJsonWebKey, VerificationMethodLegacy, VerificationMethodMultikey, VerificationMethodType } from "./index-COqIpwoL.js";
import { bitstringStatusListContext, credentialStatusTypes, cryptographicCurves, didMethodRegex, didRegex, didUrlRegex, ellipticCurves, joseAlgorithms, joseCompressionAlgorithms, joseSignatureAlgorithms, joseUnsecuredAlgorithm, jweContentEncryptionAlgorithms, jweKeyManagementAlgorithms, keyOperations, keyTypes, keyUses, legacyVerificationMethodTypes, octetKeyPairCurves, proofPurposes, statusList2021Context, statusPurposes, vcV1CoreContext, vcV2CoreContext, verificationMethodTypes } from "./vc-hVgNkY2W.js";
import * as v from "valibot";
//#region src/valibot/shared/base-64.d.ts
/**
* Base64url encoding pattern.
* Allows characters A-Z, a-z, 0-9, '-', '_'.
* @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-2} / {@link https://datatracker.ietf.org/doc/html/rfc4648#section-5}
*
* @example
* "SGVsbG8gV29ybGQ" // "Hello World" base64url encoded
* "eyJhbGciOiJIUzI1NiJ9" // JWT header example
*/
declare const Base64UrlSchema: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
/**
* Base64 encoding pattern.
* Allows characters A-Z, a-z, 0-9, '+', '/', and optional '=' padding.
* @see {@link https://datatracker.ietf.org/doc/html/rfc4648#section-4}
*
* @example
* "SGVsbG8gV29ybGQ=" // "Hello World" base64 encoded
* "U29tZSBkYXRhLw==" // "Some data/" base64 encoded
*/
declare const Base64Schema: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
//#endregion
//#region src/valibot/shared/curves.d.ts
/**
* Elliptic Curve names.
* @see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-6.2.1.1}
*/
declare const EllipticCurveSchema: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["P-256", "secp256r1", "P-256K", "secp256k1", "P-384", "P-521"], undefined>, v.CustomSchema<EllipticCurve, undefined>]>;
/**
* Octet Key Pair curves.
* @see {@link https://datatracker.ietf.org/doc/html/rfc8037}
*/
declare const OctetKeyPairCurveSchema: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["Ed25519", "Ed448", "X25519", "X448"], undefined>, v.CustomSchema<OctetKeyPairCurve, undefined>]>;
/**
* All supported cryptographic curves (EC + OKP).
*/
declare const CryptographicCurveSchema: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["P-256", "secp256r1", "P-256K", "secp256k1", "P-384", "P-521", "Ed25519", "Ed448", "X25519", "X448"], undefined>, v.CustomSchema<CryptographicCurve, undefined>]>;
//#endregion
//#region src/valibot/shared/uri.d.ts
/**
* URI schema according to RFC 3986.
* Matches any valid URI with scheme and scheme-specific part.
* @see {@link https://tools.ietf.org/html/rfc3986}
*/
declare const UriSchema: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid URI with scheme">, v.CustomSchema<`${string}:${string}`, undefined>]>;
//#endregion
//#region src/valibot/jose/jwa.d.ts
/**
* JSON Web Signature algorithms that require cryptographic signatures.
* @see {@link https://datatracker.ietf.org/doc/html/rfc7518}
*
* @example
* "RS256" // RSA with SHA-256
* "ES256" // ECDSA with P-256 and SHA-256
*/
declare const JoseSignatureAlgorithmSchema: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA"], undefined>, v.CustomSchema<JoseSignatureAlgorithm, undefined>]>;
/**
* Algorithm for Unsecured JWS/JWT.
* @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1}
*
* @example
* "none" // No signature algorithm
*/
declare const JoseUnsecuredAlgorithmSchema: v.SchemaWithPipe<readonly [v.LiteralSchema<"none", undefined>, v.CustomSchema<"none", undefined>]>;
/**
* JSON Web Signature and Encryption Algorithms.
* Union of all signature algorithms including the unsecured algorithm.
* @see {@link https://datatracker.ietf.org/doc/html/rfc7518}
*
* @example
* "HS256" // HMAC with SHA-256
* "none" // Unsecured algorithm
*/
declare const JoseAlgorithmSchema: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>;
/**
* JSON Web Encryption Content Encryption Algorithms.
* @see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-5.1}
*
* @example
* "A128GCM" // AES-128 with GCM
* "A256GCM" // AES-256 with GCM
*/
declare const JweContentEncryptionAlgorithmSchema: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["A128GCM", "A192GCM", "A256GCM", "A128CBC-HS256", "A192CBC-HS384", "A256CBC-HS512"], undefined>, v.CustomSchema<JweContentEncryptionAlgorithm, undefined>]>;
/**
* JSON Web Encryption Key Management Algorithms.
* @see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.1}
*
* @example
* "RSA1_5" // RSAES-PKCS1-v1_5
* "dir" // Direct use of shared symmetric key
*/
declare const JweKeyManagementAlgorithmSchema: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["RSA1_5", "RSA-OAEP", "RSA-OAEP-256", "A128KW", "A192KW", "A256KW", "dir", "ECDH-ES", "ECDH-ES+A128KW", "ECDH-ES+A192KW", "ECDH-ES+A256KW", "A128GCMKW", "A192GCMKW", "A256GCMKW", "PBES2-HS256+A128KW", "PBES2-HS384+A192KW", "PBES2-HS512+A256KW"], undefined>, v.CustomSchema<JweKeyManagementAlgorithm, undefined>]>;
/**
* JSON Web Signature and Encryption Compression Algorithms.
* @see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-7.3}
*
* @example
* "DEF" // DEFLATE compression algorithm
*/
declare const JoseCompressionAlgorithmSchema: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["DEF"], undefined>, v.CustomSchema<"DEF", undefined>]>;
//#endregion
//#region src/valibot/jose/jwe.d.ts
/**
* JWE Compact Serialization Schema.
* Represents JWE in compact serialization format.
* @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-7.1}
*/
declare const JweCompactSerializationSchema: v.ObjectSchema<{
/** JWE Protected Header (base64url encoded) */
readonly protected: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
/** JWE Encrypted Key (base64url encoded) */
readonly encrypted_key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
/** JWE Initialization Vector (base64url encoded) */
readonly iv: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
/** JWE Ciphertext (base64url encoded) */
readonly ciphertext: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
/** JWE Authentication Tag (base64url encoded) */
readonly tag: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
}, undefined>;
/**
* JWE JSON Serialization Schema.
* Represents JWE in JSON serialization format.
* @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-7.2}
*/
declare const JweJsonSerializationSchema: v.ObjectSchema<{
/** JWE Protected Header (base64url encoded, optional) */
readonly protected: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
/** JWE Unprotected Header (optional) */
readonly unprotected: v.OptionalSchema<v.ObjectSchema<{
/** Key ID (optional) */
readonly kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
/** JSON Web Key Set URL (optional) */
readonly jku: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
/** JSON Web Key (optional) */
readonly jwk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.VariantSchema<"kty", [v.ObjectSchema<{
kty: v.LiteralSchema<"RSA", undefined>;
n: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
e: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
d: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
p: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
q: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
dp: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
dq: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
qi: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
oth: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
readonly r: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
readonly d: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
readonly t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
}, undefined>, undefined>, undefined>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>, v.ObjectSchema<{
kty: v.LiteralSchema<"EC", undefined>;
crv: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["P-256", "secp256r1", "P-256K", "secp256k1", "P-384", "P-521"], undefined>, v.CustomSchema<EllipticCurve, undefined>]>;
x: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
y: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
d: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>, v.ObjectSchema<{
kty: v.LiteralSchema<"oct", undefined>;
k: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>, v.ObjectSchema<{
kty: v.LiteralSchema<"OKP", undefined>;
crv: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["Ed25519", "Ed448", "X25519", "X448"], undefined>, v.CustomSchema<OctetKeyPairCurve, undefined>]>;
x: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
d: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>], undefined>, v.CustomSchema<JsonWebKey, undefined>]>, undefined>;
/** X.509 URL (optional) */
readonly x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
/** X.509 Certificate Chain (optional) (base64, not base64url) */
readonly x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
/** X.509 Certificate SHA-1 Thumbprint (optional) */
readonly x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
/** X.509 Certificate SHA-256 Thumbprint (optional) */
readonly "x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
/** Critical header parameter (optional) */
readonly crit: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
}, undefined>, undefined>;
/** JWE Initialization Vector (base64url encoded) */
readonly iv: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
/** JWE Ciphertext (base64url encoded) */
readonly ciphertext: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
/** JWE Authentication Tag (base64url encoded) */
readonly tag: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
/** JWE Additional Authenticated Data (base64url encoded, optional) */
readonly aad: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
/** JWE Recipients */
readonly recipients: v.ArraySchema<v.ObjectSchema<{
/** Per-recipient unprotected header (optional) */
readonly header: v.OptionalSchema<v.ObjectSchema<{
/** Algorithm used for key management for this recipient */
readonly alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["RSA1_5", "RSA-OAEP", "RSA-OAEP-256", "A128KW", "A192KW", "A256KW", "dir", "ECDH-ES", "ECDH-ES+A128KW", "ECDH-ES+A192KW", "ECDH-ES+A256KW", "A128GCMKW", "A192GCMKW", "A256GCMKW", "PBES2-HS256+A128KW", "PBES2-HS384+A192KW", "PBES2-HS512+A256KW"], undefined>, v.CustomSchema<JweKeyManagementAlgorithm, undefined>]>, undefined>;
/** Key ID (optional) */
readonly kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
/** JSON Web Key Set URL (optional) */
readonly jku: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
/** JSON Web Key (optional) */
readonly jwk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.VariantSchema<"kty", [v.ObjectSchema<{
kty: v.LiteralSchema<"RSA", undefined>;
n: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
e: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
d: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
p: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
q: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
dp: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
dq: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
qi: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
oth: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
readonly r: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
readonly d: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
readonly t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
}, undefined>, undefined>, undefined>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>, v.ObjectSchema<{
kty: v.LiteralSchema<"EC", undefined>;
crv: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["P-256", "secp256r1", "P-256K", "secp256k1", "P-384", "P-521"], undefined>, v.CustomSchema<EllipticCurve, undefined>]>;
x: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
y: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
d: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>, v.ObjectSchema<{
kty: v.LiteralSchema<"oct", undefined>;
k: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>, v.ObjectSchema<{
kty: v.LiteralSchema<"OKP", undefined>;
crv: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["Ed25519", "Ed448", "X25519", "X448"], undefined>, v.CustomSchema<OctetKeyPairCurve, undefined>]>;
x: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
d: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>], undefined>, v.CustomSchema<JsonWebKey, undefined>]>, undefined>;
/** X.509 URL (optional) */
readonly x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
/** X.509 Certificate Chain (optional) (base64, not base64url) */
readonly x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
/** X.509 Certificate SHA-1 Thumbprint (optional) */
readonly x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
/** X.509 Certificate SHA-256 Thumbprint (optional) */
readonly "x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
/** Critical header parameter (optional) */
readonly crit: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
}, undefined>, undefined>;
/** Encrypted key for this recipient (base64url encoded) */
readonly encrypted_key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
}, undefined>, undefined>;
}, undefined>;
/**
* JWE Flattened JSON Serialization Schema.
* Represents JWE in flattened JSON serialization format.
* @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-7.2.2}
*/
declare const JweFlattenedJsonSerializationSchema: v.ObjectSchema<{
/** JWE Protected Header (base64url encoded, optional) */
readonly protected: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
/** JWE Unprotected Header (optional) */
readonly unprotected: v.OptionalSchema<v.ObjectSchema<{
/** Key ID (optional) */
readonly kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
/** JSON Web Key Set URL (optional) */
readonly jku: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
/** JSON Web Key (optional) */
readonly jwk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.VariantSchema<"kty", [v.ObjectSchema<{
kty: v.LiteralSchema<"RSA", undefined>;
n: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
e: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
d: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
p: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
q: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
dp: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
dq: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
qi: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
oth: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
readonly r: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
readonly d: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
readonly t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
}, undefined>, undefined>, undefined>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>, v.ObjectSchema<{
kty: v.LiteralSchema<"EC", undefined>;
crv: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["P-256", "secp256r1", "P-256K", "secp256k1", "P-384", "P-521"], undefined>, v.CustomSchema<EllipticCurve, undefined>]>;
x: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
y: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
d: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>, v.ObjectSchema<{
kty: v.LiteralSchema<"oct", undefined>;
k: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>, v.ObjectSchema<{
kty: v.LiteralSchema<"OKP", undefined>;
crv: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["Ed25519", "Ed448", "X25519", "X448"], undefined>, v.CustomSchema<OctetKeyPairCurve, undefined>]>;
x: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
d: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>], undefined>, v.CustomSchema<JsonWebKey, undefined>]>, undefined>;
/** X.509 URL (optional) */
readonly x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
/** X.509 Certificate Chain (optional) (base64, not base64url) */
readonly x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
/** X.509 Certificate SHA-1 Thumbprint (optional) */
readonly x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
/** X.509 Certificate SHA-256 Thumbprint (optional) */
readonly "x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
/** Critical header parameter (optional) */
readonly crit: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
}, undefined>, undefined>;
/** JWE Per-Recipient Unprotected Header (optional) */
readonly header: v.OptionalSchema<v.ObjectSchema<{
/** Algorithm used for key management for this recipient */
readonly alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["RSA1_5", "RSA-OAEP", "RSA-OAEP-256", "A128KW", "A192KW", "A256KW", "dir", "ECDH-ES", "ECDH-ES+A128KW", "ECDH-ES+A192KW", "ECDH-ES+A256KW", "A128GCMKW", "A192GCMKW", "A256GCMKW", "PBES2-HS256+A128KW", "PBES2-HS384+A192KW", "PBES2-HS512+A256KW"], undefined>, v.CustomSchema<JweKeyManagementAlgorithm, undefined>]>, undefined>;
/** Key ID (optional) */
readonly kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
/** JSON Web Key Set URL (optional) */
readonly jku: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
/** JSON Web Key (optional) */
readonly jwk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.VariantSchema<"kty", [v.ObjectSchema<{
kty: v.LiteralSchema<"RSA", undefined>;
n: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
e: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
d: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
p: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
q: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
dp: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
dq: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
qi: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
oth: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
readonly r: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
readonly d: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
readonly t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
}, undefined>, undefined>, undefined>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
key_ops: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"], undefined>, v.CustomSchema<KeyOperation, undefined>]>, undefined>, undefined>;
kid: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
use: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["sig", "enc"], undefined>, v.CustomSchema<KeyUse, undefined>]>, undefined>;
x5c: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>, undefined>;
x5t: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
"x5t#S256": v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
x5u: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UrlAction<string, undefined>]>, undefined>;
}, undefined>, v.ObjectSchema<{
kty: v.LiteralSchema<"EC", undefined>;
crv: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["P-256", "secp256r1", "P-256K", "secp256k1", "P-384", "P-521"], undefined>, v.CustomSchema<EllipticCurve, undefined>]>;
x: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
y: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>;
d: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.CustomSchema<string, undefined>]>, undefined>;
alg: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "PS256", "PS384", "PS512", "EdDSA", "none"], undefined>, v.CustomSchema<JoseAlgorithm, undefined>]>, undefined>;
ext: v