{
  "IJwtService": {
    "components": {
      "schemas": {
        "CreateJwsCompactArgs": {
          "$ref": "#/components/schemas/CreateJwsArgs"
        },
        "CreateJwsArgs": {
          "type": "object",
          "properties": {
            "mode": {
              "$ref": "#/components/schemas/JwsIdentifierMode"
            },
            "issuer": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    },
                    "x5c": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "certificate": {}
                  },
                  "required": [
                    "certificate",
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts",
                    "x5c"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    },
                    "did": {
                      "type": "string"
                    },
                    "keys": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/IKey"
                      }
                    },
                    "verificationMethodSection": {
                      "$ref": "#/components/schemas/DIDDocumentSection"
                    },
                    "controllerKeyId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "did",
                    "identifier",
                    "issuer",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "keys",
                    "kid",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kid",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "jwk"
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "x5c"
                    },
                    "identifier": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "did"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "keyType": {
                      "$ref": "#/components/schemas/TKeyType"
                    },
                    "offlineWhenNoDIDRegistered": {
                      "type": "boolean"
                    },
                    "noVerificationMethodFallback": {
                      "type": "boolean"
                    },
                    "controllerKey": {
                      "type": "boolean"
                    },
                    "vmRelationship": {
                      "$ref": "#/components/schemas/DIDDocumentSection"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "kid"
                    },
                    "identifier": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "key"
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "cose_key"
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ICoseKeyJson"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "oid4vci-issuer"
                    },
                    "identifier": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                }
              ]
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            },
            "protectedHeader": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "payload": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JwsPayload"
                },
                {
                  "type": "object",
                  "properties": {
                    "BYTES_PER_ELEMENT": {
                      "type": "number"
                    },
                    "buffer": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "byteLength": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "byteLength"
                          ]
                        },
                        {}
                      ]
                    },
                    "byteLength": {
                      "type": "number"
                    },
                    "byteOffset": {
                      "type": "number"
                    },
                    "length": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "BYTES_PER_ELEMENT",
                    "buffer",
                    "byteLength",
                    "byteOffset",
                    "length"
                  ],
                  "additionalProperties": {
                    "type": "number"
                  }
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "issuer",
            "protectedHeader",
            "payload"
          ]
        },
        "JwsIdentifierMode": {
          "type": "string",
          "enum": [
            "x5c",
            "kid",
            "jwk",
            "did",
            "auto"
          ]
        },
        "JWK": {
          "type": "object",
          "properties": {
            "kty": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JwkKeyType"
                },
                {
                  "$ref": "#/components/schemas/JwkKeyTypeString"
                }
              ]
            },
            "crv": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JoseCurve"
                },
                {
                  "$ref": "#/components/schemas/JoseCurveString"
                }
              ]
            },
            "alg": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JoseSignatureAlgorithm"
                },
                {
                  "$ref": "#/components/schemas/JoseSignatureAlgorithmString"
                }
              ]
            },
            "x": {
              "type": "string"
            },
            "y": {
              "type": "string"
            },
            "e": {
              "type": "string"
            },
            "n": {
              "type": "string"
            },
            "d": {
              "type": "string"
            },
            "dp": {
              "type": "string"
            },
            "dq": {
              "type": "string"
            },
            "ext": {
              "type": "boolean"
            },
            "k": {
              "type": "string"
            },
            "key_ops": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/JoseKeyOperation"
                  },
                  {
                    "$ref": "#/components/schemas/JoseKeyOperationString"
                  }
                ]
              }
            },
            "kid": {
              "type": "string"
            },
            "oth": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "d": {
                    "type": "string"
                  },
                  "r": {
                    "type": "string"
                  },
                  "t": {
                    "type": "string"
                  }
                }
              }
            },
            "p": {
              "type": "string"
            },
            "q": {
              "type": "string"
            },
            "qi": {
              "type": "string"
            },
            "use": {
              "type": "string"
            },
            "x5c": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
            },
            "x5t": {
              "type": "string",
              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
            },
            "x5t#S256": {
              "type": "string",
              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
            },
            "x5u": {
              "type": "string",
              "description": "JWK \"x5u\" (X.509 URL) Parameter."
            },
            "iv": {
              "type": "string"
            }
          },
          "additionalProperties": {},
          "required": [
            "kty"
          ]
        },
        "JwkKeyType": {
          "type": "string",
          "enum": [
            "EC",
            "RSA",
            "oct",
            "OKP"
          ]
        },
        "JwkKeyTypeString": {
          "type": "string",
          "enum": [
            "EC",
            "RSA",
            "oct",
            "OKP"
          ]
        },
        "JoseCurve": {
          "type": "string",
          "enum": [
            "P-256",
            "P-384",
            "P-521",
            "X25519",
            "X448",
            "EdDSA",
            "Ed25519",
            "Ed448",
            "secp256k1"
          ]
        },
        "JoseCurveString": {
          "type": "string",
          "enum": [
            "P-256",
            "P-384",
            "P-521",
            "X25519",
            "X448",
            "EdDSA",
            "Ed25519",
            "Ed448",
            "secp256k1"
          ]
        },
        "JoseSignatureAlgorithm": {
          "type": "string",
          "enum": [
            "RS256",
            "RS384",
            "RS512",
            "ES256",
            "ES256K",
            "ES384",
            "ES512",
            "EdDSA",
            "HS256",
            "HS384",
            "HS512",
            "PS256",
            "PS384",
            "PS512",
            "none"
          ]
        },
        "JoseSignatureAlgorithmString": {
          "type": "string",
          "enum": [
            "RS256",
            "RS384",
            "RS512",
            "ES256",
            "ES256K",
            "ES384",
            "ES512",
            "EdDSA",
            "HS256",
            "HS384",
            "HS512",
            "PS256",
            "PS384",
            "PS512",
            "none"
          ]
        },
        "JoseKeyOperation": {
          "type": "string",
          "enum": [
            "sign",
            "verify",
            "encrypt",
            "decrypt",
            "wrapKey",
            "unwrapKey",
            "deriveKey",
            "deriveBits"
          ]
        },
        "JoseKeyOperationString": {
          "type": "string",
          "enum": [
            "sign",
            "verify",
            "encrypt",
            "decrypt",
            "wrapKey",
            "unwrapKey",
            "deriveKey",
            "deriveBits"
          ]
        },
        "ManagedIdentifierMethod": {
          "type": "string",
          "enum": [
            "did",
            "jwk",
            "x5c",
            "kid",
            "key",
            "cose_key",
            "oid4vci-issuer"
          ]
        },
        "ManagedIdentifierOpts": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "method": {
                  "type": "string",
                  "const": "jwk"
                },
                "identifier": {
                  "$ref": "#/components/schemas/JWK"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "properties": {
                "method": {
                  "type": "string",
                  "const": "x5c"
                },
                "identifier": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "properties": {
                "method": {
                  "type": "string",
                  "const": "did"
                },
                "identifier": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/IIdentifier"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "keyType": {
                  "$ref": "#/components/schemas/TKeyType"
                },
                "offlineWhenNoDIDRegistered": {
                  "type": "boolean"
                },
                "noVerificationMethodFallback": {
                  "type": "boolean"
                },
                "controllerKey": {
                  "type": "boolean"
                },
                "vmRelationship": {
                  "$ref": "#/components/schemas/DIDDocumentSection"
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "properties": {
                "method": {
                  "type": "string",
                  "const": "kid"
                },
                "identifier": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "properties": {
                "method": {
                  "type": "string",
                  "const": "key"
                },
                "identifier": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "properties": {
                "method": {
                  "type": "string",
                  "const": "cose_key"
                },
                "identifier": {
                  "$ref": "#/components/schemas/ICoseKeyJson"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "properties": {
                "method": {
                  "type": "string",
                  "const": "oid4vci-issuer"
                },
                "identifier": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            }
          ]
        },
        "ClientIdScheme": {
          "type": "string",
          "enum": [
            "x509_san_dns",
            "x509_san_uri"
          ]
        },
        "IIdentifier": {
          "type": "object",
          "properties": {
            "did": {
              "type": "string",
              "description": "Decentralized identifier"
            },
            "alias": {
              "type": "string",
              "description": "Optional. Identifier alias. Can be used to reference an object in an external system"
            },
            "provider": {
              "type": "string",
              "description": "Identifier provider name"
            },
            "controllerKeyId": {
              "type": "string",
              "description": "Controller key id"
            },
            "keys": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/IKey"
              },
              "description": "Array of managed keys"
            },
            "services": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/IService"
              },
              "description": "Array of services"
            }
          },
          "required": [
            "did",
            "provider",
            "keys",
            "services"
          ],
          "description": "Identifier interface"
        },
        "IKey": {
          "type": "object",
          "properties": {
            "kid": {
              "type": "string",
              "description": "Key ID"
            },
            "kms": {
              "type": "string",
              "description": "Key Management System"
            },
            "type": {
              "$ref": "#/components/schemas/TKeyType",
              "description": "Key type"
            },
            "publicKeyHex": {
              "type": "string",
              "description": "Public key"
            },
            "privateKeyHex": {
              "type": "string",
              "description": "Optional. Private key"
            },
            "meta": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/KeyMetadata"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Optional. Key metadata. This should be used to determine which algorithms are supported."
            }
          },
          "required": [
            "kid",
            "kms",
            "type",
            "publicKeyHex"
          ],
          "description": "Cryptographic key"
        },
        "TKeyType": {
          "type": "string",
          "enum": [
            "Ed25519",
            "Secp256k1",
            "Secp256r1",
            "X25519",
            "Bls12381G1",
            "Bls12381G2",
            "RSA"
          ],
          "description": "Cryptographic key type."
        },
        "KeyMetadata": {
          "type": "object",
          "properties": {
            "algorithms": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "description": "This encapsulates data about a key.\n\nImplementations of  {@link  @veramo/key-manager#AbstractKeyManagementSystem | AbstractKeyManagementSystem }  should populate this object, for each key, with the algorithms that can be performed using it.\n\nThis can also be used to add various tags to the keys under management."
        },
        "IService": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "ID"
            },
            "type": {
              "type": "string",
              "description": "Service type"
            },
            "serviceEndpoint": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/IServiceEndpoint"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IServiceEndpoint"
                  }
                }
              ],
              "description": "Endpoint URL"
            },
            "description": {
              "type": "string",
              "description": "Optional. Description"
            }
          },
          "required": [
            "id",
            "type",
            "serviceEndpoint"
          ],
          "description": "Identifier service"
        },
        "IServiceEndpoint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "object"
            }
          ],
          "description": "Represents a service endpoint URL or a map of URLs"
        },
        "DIDDocumentSection": {
          "type": "string",
          "enum": [
            "verificationMethod",
            "publicKey",
            "service",
            "authentication",
            "assertionMethod",
            "keyAgreement",
            "capabilityInvocation",
            "capabilityDelegation"
          ],
          "description": "Refers to a section of a DID document. Either the list of verification methods or services or one of the verification relationships.\n\nSee  {@link https://www.w3.org/TR/did-core/#verification-relationships | verification relationships }"
        },
        "ICoseKeyJson": {
          "type": "object",
          "properties": {
            "kty": {
              "$ref": "#/components/schemas/ICoseKeyType"
            },
            "kid": {
              "type": "string"
            },
            "alg": {
              "$ref": "#/components/schemas/ICoseSignatureAlgorithm"
            },
            "key_ops": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ICoseKeyOperation"
              }
            },
            "baseIV": {
              "type": "string"
            },
            "crv": {
              "$ref": "#/components/schemas/ICoseCurve"
            },
            "x": {
              "type": "string"
            },
            "y": {
              "type": "string"
            },
            "d": {
              "type": "string"
            },
            "x5chain": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "kty"
          ],
          "additionalProperties": {},
          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
        },
        "ICoseKeyType": {
          "type": "number",
          "enum": [
            1,
            2,
            3,
            4,
            0
          ]
        },
        "ICoseSignatureAlgorithm": {
          "type": "number",
          "enum": [
            -7,
            -47,
            -35,
            -36,
            -8,
            4,
            5,
            6,
            7,
            -37,
            -38,
            -39
          ]
        },
        "ICoseKeyOperation": {
          "type": "number",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
          ]
        },
        "ICoseCurve": {
          "type": "number",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            -1
          ]
        },
        "ManagedIdentifierType": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/IIdentifier"
            },
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "$ref": "#/components/schemas/JWK"
            },
            {
              "$ref": "#/components/schemas/IKey"
            },
            {
              "$ref": "#/components/schemas/ICoseKeyJson"
            }
          ],
          "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
        },
        "JwsHeader": {
          "type": "object",
          "properties": {
            "typ": {
              "type": "string"
            },
            "alg": {
              "type": "string"
            },
            "kid": {
              "type": "string"
            },
            "jwk": {
              "$ref": "#/components/schemas/JWK"
            },
            "x5c": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": {}
        },
        "JwsPayload": {
          "type": "object",
          "additionalProperties": {},
          "properties": {
            "iss": {
              "type": "string"
            },
            "sub": {
              "type": "string"
            },
            "aud": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "string"
                }
              ]
            },
            "exp": {
              "type": "number"
            },
            "nbf": {
              "type": "number"
            },
            "iat": {
              "type": "number"
            },
            "jti": {
              "type": "string"
            }
          }
        },
        "JwtCompactResult": {
          "type": "object",
          "properties": {
            "jwt": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JwsCompact"
                },
                {
                  "$ref": "#/components/schemas/JweCompact"
                }
              ]
            }
          },
          "required": [
            "jwt"
          ]
        },
        "JwsCompact": {
          "type": "string"
        },
        "JweCompact": {
          "type": "string"
        },
        "CreateJwsFlattenedArgs": {
          "$ref": "#/components/schemas/CreateJwsJsonArgs"
        },
        "CreateJwsJsonArgs": {
          "type": "object",
          "properties": {
            "unprotectedHeader": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "existingSignatures": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JwsJsonSignature"
              }
            },
            "mode": {
              "$ref": "#/components/schemas/JwsIdentifierMode"
            },
            "issuer": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    },
                    "x5c": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "certificate": {}
                  },
                  "required": [
                    "certificate",
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts",
                    "x5c"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    },
                    "did": {
                      "type": "string"
                    },
                    "keys": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/IKey"
                      }
                    },
                    "verificationMethodSection": {
                      "$ref": "#/components/schemas/DIDDocumentSection"
                    },
                    "controllerKeyId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "did",
                    "identifier",
                    "issuer",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "keys",
                    "kid",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kid",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ManagedIdentifierMethod"
                    },
                    "opts": {
                      "$ref": "#/components/schemas/ManagedIdentifierOpts"
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ManagedIdentifierType"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "jwk"
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "x5c"
                    },
                    "identifier": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "did"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "keyType": {
                      "$ref": "#/components/schemas/TKeyType"
                    },
                    "offlineWhenNoDIDRegistered": {
                      "type": "boolean"
                    },
                    "noVerificationMethodFallback": {
                      "type": "boolean"
                    },
                    "controllerKey": {
                      "type": "boolean"
                    },
                    "vmRelationship": {
                      "$ref": "#/components/schemas/DIDDocumentSection"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "kid"
                    },
                    "identifier": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "key"
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "cose_key"
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/ICoseKeyJson"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "oid4vci-issuer"
                    },
                    "identifier": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        },
                        {
                          "type": "string",
                          "const": "did"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                }
              ]
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            },
            "protectedHeader": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "payload": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JwsPayload"
                },
                {
                  "type": "object",
                  "properties": {
                    "BYTES_PER_ELEMENT": {
                      "type": "number"
                    },
                    "buffer": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "byteLength": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "byteLength"
                          ]
                        },
                        {}
                      ]
                    },
                    "byteLength": {
                      "type": "number"
                    },
                    "byteOffset": {
                      "type": "number"
                    },
                    "length": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "BYTES_PER_ELEMENT",
                    "buffer",
                    "byteLength",
                    "byteOffset",
                    "length"
                  ],
                  "additionalProperties": {
                    "type": "number"
                  }
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "issuer",
            "payload",
            "protectedHeader"
          ]
        },
        "JwsJsonSignature": {
          "type": "object",
          "properties": {
            "protected": {
              "type": "string"
            },
            "header": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "signature": {
              "type": "string"
            }
          },
          "required": [
            "protected",
            "signature"
          ]
        },
        "JwsJsonFlattened": {
          "type": "object",
          "properties": {
            "payload": {
              "type": "string"
            },
            "protected": {
              "type": "string"
            },
            "header": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "signature": {
              "type": "string"
            }
          },
          "required": [
            "payload",
            "protected",
            "signature"
          ]
        },
        "JwsJsonGeneral": {
          "type": "object",
          "properties": {
            "payload": {
              "type": "string"
            },
            "signatures": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JwsJsonSignature"
              }
            }
          },
          "required": [
            "payload",
            "signatures"
          ]
        },
        "DecryptJweCompactJwtArgs": {
          "type": "object",
          "properties": {
            "jwe": {
              "$ref": "#/components/schemas/JweCompact"
            },
            "idOpts": {
              "$ref": "#/components/schemas/ManagedIdentifierOptsOrResult"
            }
          },
          "required": [
            "jwe",
            "idOpts"
          ]
        },
        "ManagedIdentifierOptsOrResult": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                },
                "x5c": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "certificate": {}
              },
              "required": [
                "certificate",
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts",
                "x5c"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                },
                "did": {
                  "type": "string"
                },
                "keys": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IKey"
                  }
                },
                "verificationMethodSection": {
                  "$ref": "#/components/schemas/DIDDocumentSection"
                },
                "controllerKeyId": {
                  "type": "string"
                }
              },
              "required": [
                "did",
                "identifier",
                "issuer",
                "jwk",
                "jwkThumbprint",
                "key",
                "keys",
                "kid",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kid",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "method": {
                  "type": "string",
                  "const": "jwk"
                },
                "identifier": {
                  "$ref": "#/components/schemas/JWK"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "method": {
                  "type": "string",
                  "const": "x5c"
                },
                "identifier": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "method": {
                  "type": "string",
                  "const": "did"
                },
                "identifier": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/IIdentifier"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "keyType": {
                  "$ref": "#/components/schemas/TKeyType"
                },
                "offlineWhenNoDIDRegistered": {
                  "type": "boolean"
                },
                "noVerificationMethodFallback": {
                  "type": "boolean"
                },
                "controllerKey": {
                  "type": "boolean"
                },
                "vmRelationship": {
                  "$ref": "#/components/schemas/DIDDocumentSection"
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "method": {
                  "type": "string",
                  "const": "kid"
                },
                "identifier": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "method": {
                  "type": "string",
                  "const": "key"
                },
                "identifier": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "method": {
                  "type": "string",
                  "const": "cose_key"
                },
                "identifier": {
                  "$ref": "#/components/schemas/ICoseKeyJson"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "method": {
                  "type": "string",
                  "const": "oid4vci-issuer"
                },
                "identifier": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            }
          ]
        },
        "EncryptJweCompactJwtArgs": {
          "type": "object",
          "properties": {
            "payload": {
              "$ref": "#/components/schemas/JwsPayload"
            },
            "protectedHeader": {
              "$ref": "#/components/schemas/JweProtectedHeader"
            },
            "aad": {
              "type": "object",
              "properties": {
                "BYTES_PER_ELEMENT": {
                  "type": "number"
                },
                "buffer": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "byteLength": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "byteLength"
                      ]
                    },
                    {}
                  ]
                },
                "byteLength": {
                  "type": "number"
                },
                "byteOffset": {
                  "type": "number"
                },
                "length": {
                  "type": "number"
                }
              },
              "required": [
                "BYTES_PER_ELEMENT",
                "buffer",
                "byteLength",
                "byteOffset",
                "length"
              ],
              "additionalProperties": {
                "type": "number"
              }
            },
            "recipientKey": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "kid": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ExternalIdentifierMethod"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExternalJwkInfo"
                      }
                    },
                    "did": {
                      "type": "string"
                    },
                    "didDocument": {
                      "$ref": "#/components/schemas/DIDDocument"
                    },
                    "didJwks": {
                      "$ref": "#/components/schemas/DidDocumentJwks"
                    },
                    "didResolutionResult": {
                      "type": "object",
                      "properties": {
                        "@context": {
                          "anyOf": [
                            {
                              "type": "string",
                              "const": "https://w3id.org/did-resolution/v1"
                            },
                            {
                              "type": "string"
                            },
                            {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          ]
                        },
                        "didResolutionMetadata": {
                          "$ref": "#/components/schemas/DIDResolutionMetadata"
                        },
                        "didDocumentMetadata": {
                          "$ref": "#/components/schemas/DIDDocumentMetadata"
                        }
                      },
                      "required": [
                        "didResolutionMetadata",
                        "didDocumentMetadata"
                      ]
                    },
                    "didParsed": {
                      "$ref": "#/components/schemas/IParsedDID"
                    }
                  },
                  "required": [
                    "did",
                    "didParsed",
                    "didResolutionResult",
                    "jwks",
                    "method"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "kid": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ExternalIdentifierMethod"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExternalJwkInfo"
                      }
                    },
                    "x5c": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "issuerJWK": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "verificationResult": {
                      "$ref": "#/components/schemas/X509ValidationResult"
                    },
                    "certificates": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "required": [
                    "certificates",
                    "issuerJWK",
                    "jwks",
                    "method",
                    "x5c"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "kid": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ExternalIdentifierMethod"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExternalJwkInfo"
                      }
                    },
                    "jwk": {
                      "$ref": "#/components/schemas/JWK"
                    },
                    "x5c": {
                      "$ref": "#/components/schemas/ExternalIdentifierX5cResult"
                    }
                  },
                  "required": [
                    "jwk",
                    "jwks",
                    "method"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "kid": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ExternalIdentifierMethod"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExternalJwkInfo"
                      }
                    },
                    "trustedAnchors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TrustedAnchor"
                      }
                    },
                    "errorList": {
                      "type": "object",
                      "additionalProperties": {
                        "$ref": "#/components/schemas/ErrorMessage"
                      }
                    },
                    "jwtPayload": {},
                    "trustEstablished": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "jwks",
                    "method",
                    "trustEstablished",
                    "trustedAnchors"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "kid": {
                      "type": "string"
                    },
                    "method": {
                      "$ref": "#/components/schemas/ExternalIdentifierMethod"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExternalJwkInfo"
                      }
                    },
                    "coseKey": {
                      "$ref": "#/components/schemas/ICoseKeyJson"
                    },
                    "x5c": {
                      "$ref": "#/components/schemas/ExternalIdentifierX5cResult"
                    }
                  },
                  "required": [
                    "coseKey",
                    "jwks",
                    "method"
                  ]
                }
              ]
            },
            "alg": {
              "$ref": "#/components/schemas/JweAlg"
            },
            "enc": {
              "$ref": "#/components/schemas/JweEnc"
            },
            "apu": {
              "type": "string"
            },
            "apv": {
              "type": "string"
            },
            "expirationTime": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string"
                },
                {
                  "type": "string",
                  "format": "date-time"
                }
              ]
            },
            "issuer": {
              "type": "string"
            },
            "audience": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            }
          },
          "required": [
            "payload",
            "recipientKey"
          ]
        },
        "JweProtectedHeader": {
          "type": "object",
          "properties": {
            "alg": {
              "type": "string"
            },
            "enc": {
              "type": "string"
            },
            "jku": {
              "type": "string"
            },
            "jwk": {
              "$ref": "#/components/schemas/BaseJWK"
            },
            "epk": {
              "$ref": "#/components/schemas/EphemeralPublicKey"
            },
            "x5u": {
              "type": "string"
            },
            "x5c": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x5t": {
              "type": "string"
            },
            "cty": {
              "type": "string"
            },
            "crit": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "typ": {},
            "kid": {},
            "zip": {
              "type": "string"
            }
          }
        },
        "BaseJWK": {
          "type": "object",
          "properties": {
            "kty": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JwkKeyType"
                },
                {
                  "$ref": "#/components/schemas/JwkKeyTypeString"
                }
              ]
            },
            "crv": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JoseCurve"
                },
                {
                  "$ref": "#/components/schemas/JoseCurveString"
                }
              ]
            },
            "alg": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JoseSignatureAlgorithm"
                },
                {
                  "$ref": "#/components/schemas/JoseSignatureAlgorithmString"
                }
              ]
            },
            "x": {
              "type": "string"
            },
            "y": {
              "type": "string"
            },
            "e": {
              "type": "string"
            },
            "n": {
              "type": "string"
            }
          },
          "required": [
            "kty"
          ],
          "description": "Conversion functions to Cose available for TS in our"
        },
        "EphemeralPublicKey": {
          "type": "object",
          "properties": {
            "kty": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JwkKeyType"
                },
                {
                  "$ref": "#/components/schemas/JwkKeyTypeString"
                }
              ]
            },
            "crv": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JoseCurve"
                },
                {
                  "$ref": "#/components/schemas/JoseCurveString"
                }
              ]
            },
            "x": {
              "type": "string"
            },
            "y": {
              "type": "string"
            },
            "e": {
              "type": "string"
            },
            "n": {
              "type": "string"
            }
          },
          "required": [
            "kty"
          ],
          "description": "The JWK representation of an ephemeral public key. See https://www.rfc-editor.org/rfc/rfc7518.html#section-6"
        },
        "ExternalIdentifierMethod": {
          "type": "string",
          "enum": [
            "did",
            "jwk",
            "x5c",
            "kid",
            "cose_key",
            "oidc-discovery",
            "jwks-url",
            "oid4vci-issuer",
            "entity_id"
          ]
        },
        "ExternalJwkInfo": {
          "type": "object",
          "properties": {
            "jwk": {
              "$ref": "#/components/schemas/JWK"
            },
            "jwkThumbprint": {
              "type": "string"
            },
            "kid": {
              "type": "string"
            },
            "publicKeyHex": {
              "type": "string"
            }
          },
          "required": [
            "jwk",
            "jwkThumbprint",
            "publicKeyHex"
          ]
        },
        "DIDDocument": {
          "type": "object",
          "properties": {
            "authentication": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/VerificationMethod"
                  }
                ]
              }
            },
            "assertionMethod": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/VerificationMethod"
                  }
                ]
              }
            },
            "keyAgreement": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/VerificationMethod"
                  }
                ]
              }
            },
            "capabilityInvocation": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/VerificationMethod"
                  }
                ]
              }
            },
            "capabilityDelegation": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/VerificationMethod"
                  }
                ]
              }
            },
            "@context": {
              "anyOf": [
                {
                  "type": "string",
                  "const": "https://www.w3.org/ns/did/v1"
                },
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "id": {
              "type": "string"
            },
            "alsoKnownAs": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "controller": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "verificationMethod": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/VerificationMethod"
              }
            },
            "service": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Service"
              }
            },
            "publicKey": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/VerificationMethod"
              },
              "deprecated": true
            }
          },
          "required": [
            "id"
          ],
          "description": "Represents a DID document."
        },
        "VerificationMethod": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "controller": {
              "type": "string"
            },
            "publicKeyBase58": {
              "type": "string"
            },
            "publicKeyBase64": {
              "type": "string"
            },
            "publicKeyJwk": {
              "$ref": "#/components/schemas/JsonWebKey"
            },
            "publicKeyHex": {
              "type": "string"
            },
            "publicKeyMultibase": {
              "type": "string"
            },
            "blockchainAccountId": {
              "type": "string"
            },
            "ethereumAddress": {
              "type": "string"
            },
            "conditionOr": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/VerificationMethod"
              }
            },
            "conditionAnd": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/VerificationMethod"
              }
            },
            "threshold": {
              "type": "number"
            },
            "conditionThreshold": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/VerificationMethod"
              }
            },
            "conditionWeightedThreshold": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ConditionWeightedThreshold"
              }
            },
            "conditionDelegated": {
              "type": "string"
            },
            "relationshipParent": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "relationshipChild": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "relationshipSibling": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "id",
            "type",
            "controller"
          ],
          "description": "Represents the properties of a Verification Method listed in a DID document.\n\nThis data type includes public key representations that are no longer present in the spec but are still used by several DID methods / resolvers and kept for backward compatibility."
        },
        "JsonWebKey": {
          "type": "object",
          "properties": {
            "alg": {
              "type": "string"
            },
            "crv": {
              "type": "string"
            },
            "e": {
              "type": "string"
            },
            "ext": {
              "type": "boolean"
            },
            "key_ops": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "kid": {
              "type": "string"
            },
            "kty": {
              "type": "string"
            },
            "n": {
              "type": "string"
            },
            "use": {
              "type": "string"
            },
            "x": {
              "type": "string"
            },
            "y": {
              "type": "string"
            }
          },
          "required": [
            "kty"
          ],
          "description": "Encapsulates a JSON web key type that includes only the public properties that can be used in DID documents.\n\nThe private properties are intentionally omitted to discourage the use (and accidental disclosure) of private keys in DID documents."
        },
        "ConditionWeightedThreshold": {
          "type": "object",
          "properties": {
            "condition": {
              "$ref": "#/components/schemas/VerificationMethod"
            },
            "weight": {
              "type": "number"
            }
          },
          "required": [
            "condition",
            "weight"
          ]
        },
        "Service": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "serviceEndpoint": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ServiceEndpoint"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceEndpoint"
                  }
                }
              ]
            }
          },
          "required": [
            "id",
            "type",
            "serviceEndpoint"
          ],
          "description": "Represents a Service entry in a  {@link https://www.w3.org/TR/did-core/#did-document-properties | DID document } ."
        },
        "ServiceEndpoint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "object"
            }
          ],
          "description": "Represents an endpoint of a Service entry in a DID document."
        },
        "DidDocumentJwks": {
          "type": "object",
          "properties": {
            "verificationMethod": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JWK"
              }
            },
            "authentication": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JWK"
              }
            },
            "assertionMethod": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JWK"
              }
            },
            "keyAgreement": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JWK"
              }
            },
            "capabilityInvocation": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JWK"
              }
            },
            "capabilityDelegation": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JWK"
              }
            }
          },
          "required": [
            "verificationMethod",
            "authentication",
            "assertionMethod",
            "keyAgreement",
            "capabilityInvocation",
            "capabilityDelegation"
          ]
        },
        "DIDResolutionMetadata": {
          "type": "object",
          "properties": {
            "contentType": {
              "type": "string"
            },
            "error": {
              "type": "string"
            }
          },
          "description": "Encapsulates the resolution metadata resulting from a  {@link  Resolvable.resolve }  operation."
        },
        "DIDDocumentMetadata": {
          "type": "object",
          "properties": {
            "created": {
              "type": "string"
            },
            "updated": {
              "type": "string"
            },
            "deactivated": {
              "type": "boolean"
            },
            "versionId": {
              "type": "string"
            },
            "nextUpdate": {
              "type": "string"
            },
            "nextVersionId": {
              "type": "string"
            },
            "equivalentId": {
              "type": "string"
            },
            "canonicalId": {
              "type": "string"
            }
          },
          "description": "Represents metadata about the DID document resulting from a  {@link  Resolvable.resolve }  operation."
        },
        "IParsedDID": {
          "type": "object",
          "properties": {
            "did": {
              "type": "string"
            },
            "didUrl": {
              "type": "string"
            },
            "method": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "path": {
              "type": "string"
            },
            "fragment": {
              "type": "string"
            },
            "query": {
              "type": "string"
            },
            "params": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "required": [
            "did",
            "didUrl",
            "method",
            "id"
          ]
        },
        "X509ValidationResult": {
          "type": "object",
          "properties": {
            "error": {
              "type": "boolean"
            },
            "critical": {
              "type": "boolean"
            },
            "message": {
              "type": "string"
            },
            "detailMessage": {
              "type": "string"
            },
            "verificationTime": {
              "type": "string",
              "format": "date-time"
            },
            "certificateChain": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CertificateInfo"
              }
            },
            "trustAnchor": {
              "$ref": "#/components/schemas/CertificateInfo"
            },
            "client": {
              "type": "object",
              "properties": {
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "$ref": "#/components/schemas/ClientIdScheme"
                }
              },
              "required": [
                "clientId",
                "clientIdScheme"
              ]
            }
          },
          "required": [
            "error",
            "critical",
            "message",
            "verificationTime"
          ]
        },
        "CertificateInfo": {
          "type": "object",
          "properties": {
            "certificate": {},
            "notBefore": {
              "type": "string",
              "format": "date-time"
            },
            "notAfter": {
              "type": "string",
              "format": "date-time"
            },
            "publicKeyJWK": {},
            "issuer": {
              "type": "object",
              "properties": {
                "dn": {
                  "$ref": "#/components/schemas/DNInfo"
                }
              },
              "required": [
                "dn"
              ]
            },
            "subject": {
              "type": "object",
              "properties": {
                "dn": {
                  "$ref": "#/components/schemas/DNInfo"
                },
                "subjectAlternativeNames": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubjectAlternativeName"
                  }
                }
              },
              "required": [
                "dn",
                "subjectAlternativeNames"
              ]
            }
          },
          "required": [
            "notBefore",
            "notAfter",
            "issuer",
            "subject"
          ]
        },
        "DNInfo": {
          "type": "object",
          "properties": {
            "DN": {
              "type": "string"
            },
            "attributes": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "required": [
            "DN",
            "attributes"
          ]
        },
        "SubjectAlternativeName": {
          "type": "object",
          "properties": {
            "value": {
              "type": "string"
            },
            "type": {
              "$ref": "#/components/schemas/SubjectAlternativeGeneralName"
            }
          },
          "required": [
            "value",
            "type"
          ]
        },
        "SubjectAlternativeGeneralName": {
          "type": "number",
          "enum": [
            1,
            2,
            6,
            7
          ],
          "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
        },
        "ExternalIdentifierX5cResult": {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "x5c"
            },
            "jwks": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ExternalJwkInfo"
              }
            },
            "x5c": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "issuerJWK": {
              "$ref": "#/components/schemas/JWK"
            },
            "verificationResult": {
              "$ref": "#/components/schemas/X509ValidationResult"
            },
            "certificates": {
              "type": "array",
              "items": {}
            }
          },
          "required": [
            "certificates",
            "issuerJWK",
            "jwks",
            "method",
            "x5c"
          ]
        },
        "TrustedAnchor": {
          "type": "string"
        },
        "ErrorMessage": {
          "type": "string"
        },
        "JweAlg": {
          "type": "string",
          "enum": [
            "RSA1_5",
            "RSA-OAEP",
            "RSA-OAEP-256",
            "A128KW",
            "A192KW",
            "A256KW",
            "dir",
            "ECDH-ES",
            "ECDH-ES+A128KW",
            "ECDH-ES+A192KW",
            "ECDH-ES+A256KW",
            "A128GCMKW",
            "A192GCMKW",
            "A256GCMKW",
            "PBES2-HS256+A128KW",
            "PBES2-HS384+A192KW",
            "PBES2-HS512+A256KW"
          ]
        },
        "JweEnc": {
          "type": "string",
          "enum": [
            "A128CBC-HS256",
            "A192CBC-HS384",
            "A256CBC-HS512",
            "A128GCM",
            "A192GCM",
            "A256GCM"
          ]
        },
        "PreparedJwsObject": {
          "type": "object",
          "properties": {
            "jws": {
              "$ref": "#/components/schemas/PreparedJws"
            },
            "b64": {
              "type": "object",
              "properties": {
                "payload": {
                  "type": "string"
                },
                "protectedHeader": {
                  "type": "string"
                }
              },
              "required": [
                "payload",
                "protectedHeader"
              ]
            },
            "identifier": {
              "$ref": "#/components/schemas/ManagedIdentifierResult"
            }
          },
          "required": [
            "jws",
            "b64",
            "identifier"
          ]
        },
        "PreparedJws": {
          "type": "object",
          "properties": {
            "protectedHeader": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "payload": {
              "type": "object",
              "properties": {
                "BYTES_PER_ELEMENT": {
                  "type": "number"
                },
                "buffer": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "byteLength": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "byteLength"
                      ]
                    },
                    {}
                  ]
                },
                "byteLength": {
                  "type": "number"
                },
                "byteOffset": {
                  "type": "number"
                },
                "length": {
                  "type": "number"
                }
              },
              "required": [
                "BYTES_PER_ELEMENT",
                "buffer",
                "byteLength",
                "byteOffset",
                "length"
              ],
              "additionalProperties": {
                "type": "number"
              }
            },
            "unprotectedHeader": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "existingSignatures": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JwsJsonSignature"
              }
            }
          },
          "required": [
            "protectedHeader",
            "payload"
          ]
        },
        "ManagedIdentifierResult": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                },
                "x5c": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "certificate": {}
              },
              "required": [
                "certificate",
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts",
                "x5c"
              ]
            },
            {
              "type": "object",
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                },
                "did": {
                  "type": "string"
                },
                "keys": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IKey"
                  }
                },
                "verificationMethodSection": {
                  "$ref": "#/components/schemas/DIDDocumentSection"
                },
                "controllerKeyId": {
                  "type": "string"
                }
              },
              "required": [
                "did",
                "identifier",
                "issuer",
                "jwk",
                "jwkThumbprint",
                "key",
                "keys",
                "kid",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kid",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            }
          ]
        },
        "VerifyJwsArgs": {
          "type": "object",
          "properties": {
            "jws": {
              "$ref": "#/components/schemas/Jws"
            },
            "jwk": {
              "$ref": "#/components/schemas/JWK"
            },
            "opts": {
              "type": "object",
              "properties": {
                "x5c": {
                  "type": "object",
                  "properties": {
                    "allowNoTrustAnchorsFound": {
                      "type": "boolean"
                    },
                    "trustRootWhenNoAnchors": {
                      "type": "boolean"
                    },
                    "allowSingleNoCAChainElement": {
                      "type": "boolean"
                    },
                    "blindlyTrustedAnchors": {
                      "allOf": [
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {}
                        }
                      ]
                    },
                    "disallowReversedChain": {
                      "type": "boolean"
                    },
                    "client": {
                      "type": "object",
                      "properties": {
                        "clientId": {
                          "type": "string"
                        },
                        "clientIdScheme": {
                          "$ref": "#/components/schemas/ClientIdScheme"
                        }
                      },
                      "required": [
                        "clientId",
                        "clientIdScheme"
                      ]
                    },
                    "method": {
                      "type": "object",
                      "properties": {}
                    },
                    "verify": {
                      "type": "boolean"
                    },
                    "verificationTime": {
                      "type": "string"
                    },
                    "trustAnchors": {
                      "allOf": [
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {}
                        }
                      ]
                    }
                  }
                },
                "did": {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "object",
                      "properties": {}
                    },
                    "noVerificationMethodFallback": {
                      "type": "boolean"
                    },
                    "vmRelationship": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        }
                      ]
                    },
                    "localResolution": {
                      "type": "boolean"
                    },
                    "uniresolverResolution": {
                      "type": "boolean"
                    },
                    "resolverResolution": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "required": [
            "jws"
          ]
        },
        "Jws": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/JwsCompact"
            },
            {
              "$ref": "#/components/schemas/JwsJsonFlattened"
            },
            {
              "$ref": "#/components/schemas/JwsJsonGeneral"
            }
          ]
        },
        "IJwsValidationResult": {
          "type": "object",
          "properties": {
            "jws": {
              "$ref": "#/components/schemas/JwsJsonGeneralWithIdentifiers"
            },
            "name": {
              "type": "string",
              "description": "The name of the validation or its subsystem. Mainly used for information purposes. Not assumed to be unique"
            },
            "error": {
              "type": "boolean",
              "description": "Whether the validation was successful or not"
            },
            "critical": {
              "type": "boolean",
              "description": "Whether an error can be ignored or not (up to processing logic)"
            },
            "message": {
              "type": "string",
              "description": "Any status/info message about the validation"
            },
            "verificationTime": {
              "type": "string",
              "format": "date-time",
              "description": "The date and time of the validation"
            }
          },
          "required": [
            "critical",
            "error",
            "jws",
            "message",
            "name",
            "verificationTime"
          ]
        },
        "JwsJsonGeneralWithIdentifiers": {
          "type": "object",
          "properties": {
            "payload": {
              "type": "string"
            },
            "signatures": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JwsJsonSignatureWithIdentifier"
              }
            }
          },
          "required": [
            "payload",
            "signatures"
          ]
        },
        "JwsJsonSignatureWithIdentifier": {
          "type": "object",
          "properties": {
            "protected": {
              "type": "string"
            },
            "header": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "signature": {
              "type": "string"
            },
            "identifier": {
              "$ref": "#/components/schemas/ExternalIdentifierResult"
            }
          },
          "required": [
            "identifier",
            "protected",
            "signature"
          ]
        },
        "ExternalIdentifierResult": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "method": {
                  "$ref": "#/components/schemas/ExternalIdentifierMethod"
                },
                "jwks": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalJwkInfo"
                  }
                },
                "did": {
                  "type": "string"
                },
                "didDocument": {
                  "$ref": "#/components/schemas/DIDDocument"
                },
                "didJwks": {
                  "$ref": "#/components/schemas/DidDocumentJwks"
                },
                "didResolutionResult": {
                  "type": "object",
                  "properties": {
                    "@context": {
                      "anyOf": [
                        {
                          "type": "string",
                          "const": "https://w3id.org/did-resolution/v1"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      ]
                    },
                    "didResolutionMetadata": {
                      "$ref": "#/components/schemas/DIDResolutionMetadata"
                    },
                    "didDocumentMetadata": {
                      "$ref": "#/components/schemas/DIDDocumentMetadata"
                    }
                  },
                  "required": [
                    "didResolutionMetadata",
                    "didDocumentMetadata"
                  ]
                },
                "didParsed": {
                  "$ref": "#/components/schemas/IParsedDID"
                }
              },
              "required": [
                "did",
                "didParsed",
                "didResolutionResult",
                "jwks",
                "method"
              ]
            },
            {
              "type": "object",
              "properties": {
                "method": {
                  "$ref": "#/components/schemas/ExternalIdentifierMethod"
                },
                "jwks": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalJwkInfo"
                  }
                },
                "x5c": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "issuerJWK": {
                  "$ref": "#/components/schemas/JWK"
                },
                "verificationResult": {
                  "$ref": "#/components/schemas/X509ValidationResult"
                },
                "certificates": {
                  "type": "array",
                  "items": {}
                }
              },
              "required": [
                "certificates",
                "issuerJWK",
                "jwks",
                "method",
                "x5c"
              ]
            },
            {
              "type": "object",
              "properties": {
                "method": {
                  "$ref": "#/components/schemas/ExternalIdentifierMethod"
                },
                "jwks": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalJwkInfo"
                  }
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "x5c": {
                  "$ref": "#/components/schemas/ExternalIdentifierX5cResult"
                }
              },
              "required": [
                "jwk",
                "jwks",
                "method"
              ]
            },
            {
              "type": "object",
              "properties": {
                "method": {
                  "$ref": "#/components/schemas/ExternalIdentifierMethod"
                },
                "jwks": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalJwkInfo"
                  }
                },
                "trustedAnchors": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrustedAnchor"
                  }
                },
                "errorList": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/ErrorMessage"
                  }
                },
                "jwtPayload": {},
                "trustEstablished": {
                  "type": "boolean"
                }
              },
              "required": [
                "jwks",
                "method",
                "trustEstablished",
                "trustedAnchors"
              ]
            },
            {
              "type": "object",
              "properties": {
                "method": {
                  "$ref": "#/components/schemas/ExternalIdentifierMethod"
                },
                "jwks": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalJwkInfo"
                  }
                },
                "coseKey": {
                  "$ref": "#/components/schemas/ICoseKeyJson"
                },
                "x5c": {
                  "$ref": "#/components/schemas/ExternalIdentifierX5cResult"
                }
              },
              "required": [
                "coseKey",
                "jwks",
                "method"
              ]
            }
          ]
        }
      },
      "methods": {
        "jwtCreateJwsCompactSignature": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/CreateJwsCompactArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/JwtCompactResult"
          }
        },
        "jwtCreateJwsJsonFlattenedSignature": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/CreateJwsFlattenedArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/JwsJsonFlattened"
          }
        },
        "jwtCreateJwsJsonGeneralSignature": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/CreateJwsJsonArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/JwsJsonGeneral"
          }
        },
        "jwtDecryptJweCompactJwt": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/DecryptJweCompactJwtArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/JwtCompactResult"
          }
        },
        "jwtEncryptJweCompactJwt": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/EncryptJweCompactJwtArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/JwtCompactResult"
          }
        },
        "jwtPrepareJws": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/CreateJwsJsonArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/PreparedJwsObject"
          }
        },
        "jwtVerifyJwsSignature": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/VerifyJwsArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/IJwsValidationResult"
          }
        }
      }
    }
  }
}