UNPKG

did-jwks

Version:

A DID method that enables JWKS endpoints to be used as DID identifiers

449 lines (448 loc) 141 kB
import * as v from "valibot"; import { isDid } from "web-identity-schemas/valibot"; import * as web_identity_schemas191 from "web-identity-schemas"; import { Did, JsonWebKeySet } from "web-identity-schemas"; //#region src/fetch.d.ts interface FetchJwksOptions { /** * The fetch function to use. * * @default globalThis.fetch */ fetch?: typeof globalThis.fetch; /** * The hosts that are allowed to be used via `http`. All other hosts will * require `https`. This is useful for local development and testing. * * @default [] */ allowedHttpHosts?: string[]; } declare function fetchJwks(did: Did<"jwks">, opts?: FetchJwksOptions): Promise<JsonWebKeySet | null>; /** * Fetches the DID document for a given DID with the "jwks" method. * * @param did - The DID to fetch the document for. * @param opts - The options for the fetch. * @returns The DID document or `null` if the document could not be fetched. */ declare function fetchJwksDidDocument(did: Did<"jwks">, opts?: FetchJwksOptions): Promise<{ "@context": `${string}:${string}`[]; id: `did:${string}:${string}`; alsoKnownAs?: `${string}:${string}`[] | undefined; verificationMethod?: ({ type: "JsonWebKey"; publicKeyJwk: web_identity_schemas191.JsonWebKey; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; } | { type: "Multikey"; publicKeyMultibase: string; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; } | { type: web_identity_schemas191.LegacyVerificationMethodType; publicKeyMultibase?: string | undefined; publicKeyJwk?: web_identity_schemas191.JsonWebKey | undefined; publicKeyBase58?: string | undefined; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; })[] | undefined; authentication?: (`did:${string}:${string}` | { type: "JsonWebKey"; publicKeyJwk: web_identity_schemas191.JsonWebKey; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; } | { type: "Multikey"; publicKeyMultibase: string; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; } | { type: web_identity_schemas191.LegacyVerificationMethodType; publicKeyMultibase?: string | undefined; publicKeyJwk?: web_identity_schemas191.JsonWebKey | undefined; publicKeyBase58?: string | undefined; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; })[] | undefined; assertionMethod?: (`did:${string}:${string}` | { type: "JsonWebKey"; publicKeyJwk: web_identity_schemas191.JsonWebKey; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; } | { type: "Multikey"; publicKeyMultibase: string; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; } | { type: web_identity_schemas191.LegacyVerificationMethodType; publicKeyMultibase?: string | undefined; publicKeyJwk?: web_identity_schemas191.JsonWebKey | undefined; publicKeyBase58?: string | undefined; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; })[] | undefined; keyAgreement?: (`did:${string}:${string}` | { type: "JsonWebKey"; publicKeyJwk: web_identity_schemas191.JsonWebKey; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; } | { type: "Multikey"; publicKeyMultibase: string; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; } | { type: web_identity_schemas191.LegacyVerificationMethodType; publicKeyMultibase?: string | undefined; publicKeyJwk?: web_identity_schemas191.JsonWebKey | undefined; publicKeyBase58?: string | undefined; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; })[] | undefined; capabilityInvocation?: (`did:${string}:${string}` | { type: "JsonWebKey"; publicKeyJwk: web_identity_schemas191.JsonWebKey; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; } | { type: "Multikey"; publicKeyMultibase: string; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; } | { type: web_identity_schemas191.LegacyVerificationMethodType; publicKeyMultibase?: string | undefined; publicKeyJwk?: web_identity_schemas191.JsonWebKey | undefined; publicKeyBase58?: string | undefined; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; })[] | undefined; capabilityDelegation?: (`did:${string}:${string}` | { type: "JsonWebKey"; publicKeyJwk: web_identity_schemas191.JsonWebKey; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; } | { type: "Multikey"; publicKeyMultibase: string; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; } | { type: web_identity_schemas191.LegacyVerificationMethodType; publicKeyMultibase?: string | undefined; publicKeyJwk?: web_identity_schemas191.JsonWebKey | undefined; publicKeyBase58?: string | undefined; id: `did:${string}:${string}`; controller: `did:${string}:${string}`; })[] | undefined; } | null>; //#endregion //#region src/did-jwks.d.ts /** * Helper type predicate for `did:jwks` URIs. * @param val * @returns */ declare const isDidJwks: (val: unknown) => val is `did:jwks:${string}`; /** * A minimal DidDocument schema with an array for @context, and no service * endpoints or controller. */ declare const MinimalDidDocumentSchema: v.ObjectSchema<{ readonly "@context": v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid URI with scheme">, v.CustomSchema<`${string}:${string}`, undefined>]>, undefined>; readonly id: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid URI with scheme">, v.CustomSchema<`${string}:${string}`, undefined>]>, v.StartsWithAction<`${string}:${string}`, "did:", undefined>, v.RegexAction<`${string}:${string}`, "Must be a valid DID">, v.CustomSchema<`did:${string}:${string}`, undefined>]>; readonly alsoKnownAs: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid URI with scheme">, v.CustomSchema<`${string}:${string}`, undefined>]>, undefined>, undefined>; readonly verificationMethod: v.OptionalSchema<v.ArraySchema<v.VariantSchema<"type", [v.ObjectSchema<{ type: v.LiteralSchema<"JsonWebKey", undefined>; publicKeyJwk: 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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.JsonWebKey, undefined>]>; id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid DID URL">, v.CustomSchema<`did:${string}:${string}`, undefined>]>; controller: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid URI with scheme">, v.CustomSchema<`${string}:${string}`, undefined>]>, v.StartsWithAction<`${string}:${string}`, "did:", undefined>, v.RegexAction<`${string}:${string}`, "Must be a valid DID">, v.CustomSchema<`did:${string}:${string}`, undefined>]>; }, undefined>, v.ObjectSchema<{ type: v.LiteralSchema<"Multikey", undefined>; publicKeyMultibase: v.StringSchema<undefined>; id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid DID URL">, v.CustomSchema<`did:${string}:${string}`, undefined>]>; controller: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid URI with scheme">, v.CustomSchema<`${string}:${string}`, undefined>]>, v.StartsWithAction<`${string}:${string}`, "did:", undefined>, v.RegexAction<`${string}:${string}`, "Must be a valid DID">, v.CustomSchema<`did:${string}:${string}`, undefined>]>; }, undefined>, v.ObjectSchema<{ type: v.SchemaWithPipe<readonly [v.PicklistSchema<web_identity_schemas191.LegacyVerificationMethodType[], undefined>, v.CustomSchema<web_identity_schemas191.LegacyVerificationMethodType, undefined>]>; publicKeyMultibase: v.OptionalSchema<v.StringSchema<undefined>, undefined>; publicKeyJwk: 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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.JsonWebKey, undefined>]>, undefined>; publicKeyBase58: v.OptionalSchema<v.StringSchema<undefined>, undefined>; id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid DID URL">, v.CustomSchema<`did:${string}:${string}`, undefined>]>; controller: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid URI with scheme">, v.CustomSchema<`${string}:${string}`, undefined>]>, v.StartsWithAction<`${string}:${string}`, "did:", undefined>, v.RegexAction<`${string}:${string}`, "Must be a valid DID">, v.CustomSchema<`did:${string}:${string}`, undefined>]>; }, undefined>], undefined>, undefined>, undefined>; readonly authentication: v.OptionalSchema<v.ArraySchema<v.UnionSchema<[v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid DID URL">, v.CustomSchema<`did:${string}:${string}`, undefined>]>, v.VariantSchema<"type", [v.ObjectSchema<{ type: v.LiteralSchema<"JsonWebKey", undefined>; publicKeyJwk: 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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.JsonWebKey, undefined>]>; id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid DID URL">, v.CustomSchema<`did:${string}:${string}`, undefined>]>; controller: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid URI with scheme">, v.CustomSchema<`${string}:${string}`, undefined>]>, v.StartsWithAction<`${string}:${string}`, "did:", undefined>, v.RegexAction<`${string}:${string}`, "Must be a valid DID">, v.CustomSchema<`did:${string}:${string}`, undefined>]>; }, undefined>, v.ObjectSchema<{ type: v.LiteralSchema<"Multikey", undefined>; publicKeyMultibase: v.StringSchema<undefined>; id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid DID URL">, v.CustomSchema<`did:${string}:${string}`, undefined>]>; controller: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a valid URI with scheme">, v.CustomSchema<`${string}:${string}`, undefined>]>, v.StartsWithAction<`${string}:${string}`, "did:", undefined>, v.RegexAction<`${string}:${string}`, "Must be a valid DID">, v.CustomSchema<`did:${string}:${string}`, undefined>]>; }, undefined>, v.ObjectSchema<{ type: v.SchemaWithPipe<readonly [v.PicklistSchema<web_identity_schemas191.LegacyVerificationMethodType[], undefined>, v.CustomSchema<web_identity_schemas191.LegacyVerificationMethodType, undefined>]>; publicKeyMultibase: v.OptionalSchema<v.StringSchema<undefined>, undefined>; publicKeyJwk: 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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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<web_identity_schemas191.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 [