UNPKG

@atproto/oauth-client

Version:

OAuth client for ATPROTO PDS. This package serves as common base for environment-specific implementations (NodeJS, Browser, React-Native).

1,557 lines 74.3 kB
import { OAuthAuthorizationRequestParameters } from '@atproto/oauth-types';
import { TypeOf, z } from 'zod';
import { Simplify } from './util.js';
export type AuthorizeOptions = Simplify<Omit<OAuthAuthorizationRequestParameters, 'client_id' | 'response_mode' | 'response_type' | 'login_hint' | 'code_challenge' | 'code_challenge_method'> & {
    signal?: AbortSignal;
}>;
export declare const clientMetadataSchema: z.ZodObject<z.objectUtil.extendShape<{
    redirect_uris: z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, `${string}:${string}`, string>, `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}`, string>, `http://[::1]${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}`, string>, z.ZodEffects<z.ZodEffects<z.ZodString, `${string}:${string}`, string>, `https://${string}`, string>, z.ZodEffects<z.ZodEffects<z.ZodString, `${string}:${string}`, string>, `${string}.${string}:/${string}`, string>]>, "atleastone">;
    response_types: z.ZodDefault<z.ZodArray<z.ZodEnum<["code", "token", "none", "code id_token token", "code id_token", "code token", "id_token token", "id_token"]>, "atleastone">>;
    grant_types: z.ZodDefault<z.ZodArray<z.ZodEnum<["authorization_code", "implicit", "refresh_token", "password", "client_credentials", "urn:ietf:params:oauth:grant-type:jwt-bearer", "urn:ietf:params:oauth:grant-type:saml2-bearer"]>, "atleastone">>;
    scope: z.ZodOptional<z.ZodString>;
    token_endpoint_auth_method: z.ZodOptional<z.ZodDefault<z.ZodEnum<["client_secret_basic", "client_secret_jwt", "client_secret_post", "none", "private_key_jwt", "self_signed_tls_client_auth", "tls_client_auth"]>>>;
    token_endpoint_auth_signing_alg: z.ZodOptional<z.ZodString>;
    userinfo_signed_response_alg: z.ZodOptional<z.ZodString>;
    userinfo_encrypted_response_alg: z.ZodOptional<z.ZodString>;
    jwks_uri: z.ZodOptional<z.ZodEffects<z.ZodString, `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}`, string>>;
    jwks: z.ZodOptional<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;
        })[];
    }>>;
    application_type: z.ZodOptional<z.ZodDefault<z.ZodEnum<["web", "native"]>>>;
    subject_type: z.ZodOptional<z.ZodDefault<z.ZodEnum<["public", "pairwise"]>>>;
    request_object_signing_alg: z.ZodOptional<z.ZodString>;
    id_token_signed_response_alg: z.ZodOptional<z.ZodString>;
    authorization_signed_response_alg: z.ZodOptional<z.ZodDefault<z.ZodString>>;
    authorization_encrypted_response_enc: z.ZodOptional<z.ZodEnum<["A128CBC-HS256"]>>;
    authorization_encrypted_response_alg: z.ZodOptional<z.ZodString>;
    client_id: z.ZodOptional<z.ZodString>;
    client_name: z.ZodOptional<z.ZodString>;
    client_uri: z.ZodOptional<z.ZodEffects<z.ZodString, `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}`, string>>;
    policy_uri: z.ZodOptional<z.ZodEffects<z.ZodString, `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}`, string>>;
    tos_uri: z.ZodOptional<z.ZodEffects<z.ZodString, `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}`, string>>;
    logo_uri: z.ZodOptional<z.ZodEffects<z.ZodString, `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}`, string>>;
    default_max_age: z.ZodOptional<z.ZodNumber>;
    require_auth_time: z.ZodOptional<z.ZodBoolean>;
    contacts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    tls_client_certificate_bound_access_tokens: z.ZodOptional<z.ZodBoolean>;
    dpop_bound_access_tokens: z.ZodOptional<z.ZodBoolean>;
    authorization_details_types: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
    client_id: z.ZodUnion<[z.ZodEffects<z.ZodIntersection<z.ZodString, z.ZodEffects<z.ZodEffects<z.ZodString, `${string}:${string}`, string>, `https://${string}`, string>>, `https://${string}/${string}`, string>, z.ZodEffects<z.ZodString, "http://localhost" | `http://localhost?${string}` | "http://localhost/" | `http://localhost/?${string}`, string>]>;
}>, "strip", z.ZodTypeAny, {
    client_id: "http://localhost" | `http://localhost?${string}` | `https://${string}/${string}` | "http://localhost/" | `http://localhost/?${string}`;
    redirect_uris: [`http://[::1]${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | `${string}.${string}:/${string}`, ...(`http://[::1]${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | `${string}.${string}:/${string}`)[]];
    response_types: ["code" | "id_token" | "token" | "none" | "code id_token token" | "code id_token" | "code token" | "id_token token", ...("code" | "id_token" | "token" | "none" | "code id_token token" | "code id_token" | "code token" | "id_token token")[]];
    grant_types: ["refresh_token" | "authorization_code" | "implicit" | "password" | "client_credentials" | "urn:ietf:params:oauth:grant-type:jwt-bearer" | "urn:ietf:params:oauth:grant-type:saml2-bearer", ...("refresh_token" | "authorization_code" | "implicit" | "password" | "client_credentials" | "urn:ietf:params:oauth:grant-type:jwt-bearer" | "urn:ietf:params:oauth:grant-type:saml2-bearer")[]];
    scope?: string | undefined;
    token_endpoint_auth_method?: "none" | "client_secret_basic" | "client_secret_jwt" | "client_secret_post" | "private_key_jwt" | "self_signed_tls_client_auth" | "tls_client_auth" | undefined;
    token_endpoint_auth_signing_alg?: string | undefined;
    userinfo_signed_response_alg?: string | undefined;
    userinfo_encrypted_response_alg?: string | undefined;
    jwks_uri?: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | undefined;
    jwks?: {
        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;
        })[];
    } | undefined;
    application_type?: "web" | "native" | undefined;
    subject_type?: "public" | "pairwise" | undefined;
    request_object_signing_alg?: string | undefined;
    id_token_signed_response_alg?: string | undefined;
    authorization_signed_response_alg?: string | undefined;
    authorization_encrypted_response_enc?: "A128CBC-HS256" | undefined;
    authorization_encrypted_response_alg?: string | undefined;
    client_name?: string | undefined;
    client_uri?: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | undefined;
    policy_uri?: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | undefined;
    tos_uri?: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | undefined;
    logo_uri?: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | undefined;
    default_max_age?: number | undefined;
    require_auth_time?: boolean | undefined;
    contacts?: string[] | undefined;
    tls_client_certificate_bound_access_tokens?: boolean | undefined;
    dpop_bound_access_tokens?: boolean | undefined;
    authorization_details_types?: string[] | undefined;
}, {
    client_id: string;
    redirect_uris: [string, ...string[]];
    scope?: string | undefined;
    response_types?: ["code" | "id_token" | "token" | "none" | "code id_token token" | "code id_token" | "code token" | "id_token token", ...("code" | "id_token" | "token" | "none" | "code id_token token" | "code id_token" | "code token" | "id_token token")[]] | undefined;
    grant_types?: ["refresh_token" | "authorization_code" | "implicit" | "password" | "client_credentials" | "urn:ietf:params:oauth:grant-type:jwt-bearer" | "urn:ietf:params:oauth:grant-type:saml2-bearer", ...("refresh_token" | "authorization_code" | "implicit" | "password" | "client_credentials" | "urn:ietf:params:oauth:grant-type:jwt-bearer" | "urn:ietf:params:oauth:grant-type:saml2-bearer")[]] | undefined;
    token_endpoint_auth_method?: "none" | "client_secret_basic" | "client_secret_jwt" | "client_secret_post" | "private_key_jwt" | "self_signed_tls_client_auth" | "tls_client_auth" | undefined;
    token_endpoint_auth_signing_alg?: string | undefined;
    userinfo_signed_response_alg?: string | undefined;
    userinfo_encrypted_response_alg?: string | undefined;
    jwks_uri?: string | undefined;
    jwks?: {
        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;
        })[];
    } | undefined;
    application_type?: "web" | "native" | undefined;
    subject_type?: "public" | "pairwise" | undefined;
    request_object_signing_alg?: string | undefined;
    id_token_signed_response_alg?: string | undefined;
    authorization_signed_response_alg?: string | undefined;
    authorization_encrypted_response_enc?: "A128CBC-HS256" | undefined;
    authorization_encrypted_response_alg?: string | undefined;
    client_name?: string | undefined;
    client_uri?: string | undefined;
    policy_uri?: string | undefined;
    tos_uri?: string | undefined;
    logo_uri?: string | undefined;
    default_max_age?: number | undefined;
    require_auth_time?: boolean | undefined;
    contacts?: string[] | undefined;
    tls_client_certificate_bound_access_tokens?: boolean | undefined;
    dpop_bound_access_tokens?: boolean | undefined;
    authorization_details_types?: string[] | undefined;
}>;
export type ClientMetadata = TypeOf<typeof clientMetadataSchema>;
//# sourceMappingURL=types.d.ts.map