UNPKG

@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.

1,770 lines 69.4 kB
import { z } from 'zod';
export declare const jwksSchema: z.ZodObject<{
    keys: z.ZodArray<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;
    }>]>, "many">;
}, "strip", z.ZodTypeAny, {
    keys: ({
        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;
    })[];
}, {
    keys: ({
        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 type Jwks = z.infer<typeof jwksSchema>;
export declare const jwksPubSchema: z.ZodObject<{
    keys: z.ZodArray<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;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    keys: ({
        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;
    })[];
}, {
    keys: ({
        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 type JwksPub = z.infer<typeof jwksPubSchema>;
//# sourceMappingURL=jwks.d.ts.map