did-jwks
Version:
A DID method that enables JWKS endpoints to be used as DID identifiers
449 lines (448 loc) • 141 kB
TypeScript
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 [