@atproto/jwk
Version:
A library for working with JSON Web Keys (JWKs) in TypeScript. This is meant to be extended by environment-specific libraries like @atproto/jwk-jose.
2,424 lines • 87.6 kB
TypeScript
import { z } from 'zod';
export declare const keyUsageSchema: z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>;
export type KeyUsage = z.infer<typeof keyUsageSchema>;
/**
* The "use" and "key_ops" JWK members SHOULD NOT be used together;
* however, if both are used, the information they convey MUST be
* consistent. Applications should specify which of these members they
* use, if either is to be used by the application.
*
* @todo Actually check that "use" and "key_ops" are consistent when both are present.
* @see {@link https://datatracker.ietf.org/doc/html/rfc7517#section-4.3}
*/
export declare const jwkBaseSchema: z.ZodObject<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>;
/**
* @todo: properly implement this
*/
export declare const jwkRsaKeySchema: z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"RSA">;
alg: z.ZodOptional<z.ZodEnum<["RS256", "RS384", "RS512", "PS256", "PS384", "PS512"]>>;
n: z.ZodString;
e: z.ZodString;
d: z.ZodOptional<z.ZodString>;
p: z.ZodOptional<z.ZodString>;
q: z.ZodOptional<z.ZodString>;
dp: z.ZodOptional<z.ZodString>;
dq: z.ZodOptional<z.ZodString>;
qi: z.ZodOptional<z.ZodString>;
oth: z.ZodOptional<z.ZodArray<z.ZodObject<{
r: z.ZodOptional<z.ZodString>;
d: z.ZodOptional<z.ZodString>;
t: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, {
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}>, "atleastone">>;
}>, "strip", z.ZodTypeAny, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
}, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
}>;
export declare const jwkEcKeySchema: z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"EC">;
alg: z.ZodOptional<z.ZodEnum<["ES256", "ES384", "ES512"]>>;
crv: z.ZodEnum<["P-256", "P-384", "P-521"]>;
x: z.ZodString;
y: z.ZodString;
d: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}, {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}>;
export declare const jwkEcSecp256k1KeySchema: z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"EC">;
alg: z.ZodOptional<z.ZodEnum<["ES256K"]>>;
crv: z.ZodEnum<["secp256k1"]>;
x: z.ZodString;
y: z.ZodString;
d: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}, {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}>;
export declare const jwkOkpKeySchema: z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"OKP">;
alg: z.ZodOptional<z.ZodEnum<["EdDSA"]>>;
crv: z.ZodEnum<["Ed25519", "Ed448"]>;
x: z.ZodString;
d: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}, {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}>;
export declare const jwkSymKeySchema: z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"oct">;
alg: z.ZodOptional<z.ZodEnum<["HS256", "HS384", "HS512"]>>;
k: z.ZodString;
}>, "strip", z.ZodTypeAny, {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>;
export declare const jwkUnknownKeySchema: z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodEffects<z.ZodString, string, string>;
}>, "strip", z.ZodTypeAny, {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>;
export declare const jwkSchema: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodEffects<z.ZodString, string, string>;
}>, "strip", z.ZodTypeAny, {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"RSA">;
alg: z.ZodOptional<z.ZodEnum<["RS256", "RS384", "RS512", "PS256", "PS384", "PS512"]>>;
n: z.ZodString;
e: z.ZodString;
d: z.ZodOptional<z.ZodString>;
p: z.ZodOptional<z.ZodString>;
q: z.ZodOptional<z.ZodString>;
dp: z.ZodOptional<z.ZodString>;
dq: z.ZodOptional<z.ZodString>;
qi: z.ZodOptional<z.ZodString>;
oth: z.ZodOptional<z.ZodArray<z.ZodObject<{
r: z.ZodOptional<z.ZodString>;
d: z.ZodOptional<z.ZodString>;
t: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, {
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}>, "atleastone">>;
}>, "strip", z.ZodTypeAny, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
}, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"EC">;
alg: z.ZodOptional<z.ZodEnum<["ES256", "ES384", "ES512"]>>;
crv: z.ZodEnum<["P-256", "P-384", "P-521"]>;
x: z.ZodString;
y: z.ZodString;
d: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}, {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"EC">;
alg: z.ZodOptional<z.ZodEnum<["ES256K"]>>;
crv: z.ZodEnum<["secp256k1"]>;
x: z.ZodString;
y: z.ZodString;
d: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}, {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"OKP">;
alg: z.ZodOptional<z.ZodEnum<["EdDSA"]>>;
crv: z.ZodEnum<["Ed25519", "Ed448"]>;
x: z.ZodString;
d: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}, {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"oct">;
alg: z.ZodOptional<z.ZodEnum<["HS256", "HS384", "HS512"]>>;
k: z.ZodString;
}>, "strip", z.ZodTypeAny, {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>]>;
export type Jwk = z.infer<typeof jwkSchema>;
export declare const jwkValidator: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodEffects<z.ZodString, string, string>;
}>, "strip", z.ZodTypeAny, {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"RSA">;
alg: z.ZodOptional<z.ZodEnum<["RS256", "RS384", "RS512", "PS256", "PS384", "PS512"]>>;
n: z.ZodString;
e: z.ZodString;
d: z.ZodOptional<z.ZodString>;
p: z.ZodOptional<z.ZodString>;
q: z.ZodOptional<z.ZodString>;
dp: z.ZodOptional<z.ZodString>;
dq: z.ZodOptional<z.ZodString>;
qi: z.ZodOptional<z.ZodString>;
oth: z.ZodOptional<z.ZodArray<z.ZodObject<{
r: z.ZodOptional<z.ZodString>;
d: z.ZodOptional<z.ZodString>;
t: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, {
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}>, "atleastone">>;
}>, "strip", z.ZodTypeAny, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
}, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"EC">;
alg: z.ZodOptional<z.ZodEnum<["ES256", "ES384", "ES512"]>>;
crv: z.ZodEnum<["P-256", "P-384", "P-521"]>;
x: z.ZodString;
y: z.ZodString;
d: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}, {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"EC">;
alg: z.ZodOptional<z.ZodEnum<["ES256K"]>>;
crv: z.ZodEnum<["secp256k1"]>;
x: z.ZodString;
y: z.ZodString;
d: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}, {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"OKP">;
alg: z.ZodOptional<z.ZodEnum<["EdDSA"]>>;
crv: z.ZodEnum<["Ed25519", "Ed448"]>;
x: z.ZodString;
d: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}, {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"oct">;
alg: z.ZodOptional<z.ZodEnum<["HS256", "HS384", "HS512"]>>;
k: z.ZodString;
}>, "strip", z.ZodTypeAny, {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>]>, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
} | {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
} | {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
} | {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
} | {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
} | {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
} | {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
} | {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
} | {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>;
export declare const jwkPubSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodEffects<z.ZodString, string, string>;
}>, "strip", z.ZodTypeAny, {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"RSA">;
alg: z.ZodOptional<z.ZodEnum<["RS256", "RS384", "RS512", "PS256", "PS384", "PS512"]>>;
n: z.ZodString;
e: z.ZodString;
d: z.ZodOptional<z.ZodString>;
p: z.ZodOptional<z.ZodString>;
q: z.ZodOptional<z.ZodString>;
dp: z.ZodOptional<z.ZodString>;
dq: z.ZodOptional<z.ZodString>;
qi: z.ZodOptional<z.ZodString>;
oth: z.ZodOptional<z.ZodArray<z.ZodObject<{
r: z.ZodOptional<z.ZodString>;
d: z.ZodOptional<z.ZodString>;
t: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, {
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}>, "atleastone">>;
}>, "strip", z.ZodTypeAny, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
}, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"EC">;
alg: z.ZodOptional<z.ZodEnum<["ES256", "ES384", "ES512"]>>;
crv: z.ZodEnum<["P-256", "P-384", "P-521"]>;
x: z.ZodString;
y: z.ZodString;
d: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}, {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"EC">;
alg: z.ZodOptional<z.ZodEnum<["ES256K"]>>;
crv: z.ZodEnum<["secp256k1"]>;
x: z.ZodString;
y: z.ZodString;
d: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}, {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"OKP">;
alg: z.ZodOptional<z.ZodEnum<["EdDSA"]>>;
crv: z.ZodEnum<["Ed25519", "Ed448"]>;
x: z.ZodString;
d: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}, {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
kty: z.ZodString;
alg: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
ext: z.ZodOptional<z.ZodBoolean>;
use: z.ZodOptional<z.ZodEnum<["sig", "enc"]>>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodEnum<["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"]>, "many">>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, {
kty: z.ZodLiteral<"oct">;
alg: z.ZodOptional<z.ZodEnum<["HS256", "HS384", "HS512"]>>;
k: z.ZodString;
}>, "strip", z.ZodTypeAny, {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>]>, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
} | {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
} | {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
} | {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
} | {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
} | {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
} | {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
} | {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
} | {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
} | {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
} | {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
} | {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
} | {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
} | {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
} | {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}, {
kty: "RSA";
n: string;
e: string;
alg?: "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
p?: string | undefined;
q?: string | undefined;
dp?: string | undefined;
dq?: string | undefined;
qi?: string | undefined;
oth?: [{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}, ...{
d?: string | undefined;
r?: string | undefined;
t?: string | undefined;
}[]] | undefined;
} | {
kty: "EC";
crv: "P-256" | "P-384" | "P-521";
x: string;
y: string;
alg?: "ES256" | "ES384" | "ES512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "EC";
crv: "secp256k1";
x: string;
y: string;
alg?: "ES256K" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "OKP";
crv: "Ed25519" | "Ed448";
x: string;
alg?: "EdDSA" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
d?: string | undefined;
} | {
kty: "oct";
k: string;
alg?: "HS256" | "HS384" | "HS512" | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
} | {
kty: string;
alg?: string | undefined;
kid?: string | undefined;
ext?: boolean | undefined;
use?: "sig" | "enc" | undefined;
key_ops?: ("sign" | "verify" | "encrypt" | "decrypt" | "wrapKey" | "unwrapKey" | "deriveKey" | "deriveBits")[] | undefined;
x5c?: string[] | undefined;
x5t?: string | undefined;
'x5t#S256'?: string | undefined;
x5u?: string | undefined;
}>;
//# sourceMappingURL=jwk.d.ts.map