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