{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.3.8",
    "schemaVersion": 1003,
    "oldestForwardsCompatibleVersion": 1001
  },
  "kind": "Package",
  "canonicalReference": "@loopback/openapi-v3!",
  "docComment": "",
  "name": "@loopback/openapi-v3",
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@loopback/openapi-v3!",
      "name": "",
      "members": [
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!api:function(1)",
          "docComment": "/**\n * Decorate the given Controller constructor with metadata describing the HTTP/REST API the Controller implements/provides.\n *\n * `@api` can be applied to controller classes.\n *\n * @param spec - OpenAPI specification describing the endpoints handled by this controller\n *\n * @example\n * ```ts\n * @api({basePath: '/my'})\n * class MyController {\n *   // ...\n * }\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "api"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "spec"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "ControllerSpec"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ClassDecorator"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 7,
            "endIndex": 8
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "spec",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            }
          ],
          "name": "api"
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/openapi-v3!ControllerSpec:interface",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "ControllerSpec"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "ControllerSpec",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/openapi-v3!ControllerSpec#basePath:member",
              "docComment": "/**\n * The base path on which the Controller API is served. If it is not included, the API is served directly under the host. The value MUST start with a leading slash (/).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "basePath"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "basePath",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/openapi-v3!ControllerSpec#components:member",
              "docComment": "/**\n * OpenAPI components.schemas generated from model metadata\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "components"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ComponentsObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "components",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/openapi-v3!ControllerSpec#paths:member",
              "docComment": "/**\n * The available paths and operations for the API.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "paths"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "PathObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "paths",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!createEmptyApiSpec:function(1)",
          "docComment": "/**\n * Create an empty OpenApiSpec object that's still a valid openapi document.\n *\n * @deprecated\n *\n * Use `OpenApiBuilder` from `openapi3-ts` instead.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "createEmptyApiSpec"
            },
            {
              "kind": "Content",
              "text": "(): "
            },
            {
              "kind": "Reference",
              "text": "OpenApiSpec"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [],
          "name": "createEmptyApiSpec"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!del:function(1)",
          "docComment": "/**\n * Expose a Controller method as a REST API operation mapped to `DELETE` request method.\n *\n * @param path - The URL path of this operation, e.g. `/product/{id}`\n *\n * @param spec - The OpenAPI specification describing parameters and responses of this operation.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "del"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "path"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "spec"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "OperationObject"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "MethodDecorator"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 12
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "spec",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            }
          ],
          "name": "del"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!get:function(1)",
          "docComment": "/**\n * Expose a Controller method as a REST API operation mapped to `GET` request method.\n *\n * @param path - The URL path of this operation, e.g. `/product/{id}`\n *\n * @param spec - The OpenAPI specification describing parameters and responses of this operation.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "get"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "path"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "spec"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "OperationObject"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "MethodDecorator"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 12
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "spec",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            }
          ],
          "name": "get"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!getControllerSpec:function(1)",
          "docComment": "/**\n * Get the controller spec for the given class\n *\n * @param constructor - Controller class\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "getControllerSpec"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "constructor"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Function"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ControllerSpec"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 7,
            "endIndex": 8
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "constructor",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            }
          ],
          "name": "getControllerSpec"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!getFilterSchemaFor:function(1)",
          "docComment": "/**\n * Build an OpenAPI schema describing the format of the \"filter\" object used to query model instances.\n *\n * Note we don't take the model properties into account yet and return a generic json schema allowing any \"where\" condition.\n *\n * @param modelCtor - The model constructor to build the filter schema for.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "getFilterSchemaFor"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "modelCtor"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "typeof "
            },
            {
              "kind": "Reference",
              "text": "Model"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "SchemaObject"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 8,
            "endIndex": 9
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "modelCtor",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 7
              }
            }
          ],
          "name": "getFilterSchemaFor"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!getModelSchemaRef:function(1)",
          "docComment": "/**\n * Describe the provided Model as a reference to a definition shared by multiple endpoints. The definition is included in the returned schema.\n *\n * @param modelCtor - The model constructor (e.g. `Product`)\n *\n * @param options - Additional options\n *\n * @example\n * ```ts\n * const schema = {\n *   $ref: '#/components/schemas/Product',\n *   definitions: {\n *     Product: {\n *       title: 'Product',\n *       properties: {\n *         // etc.\n *       }\n *     }\n *   }\n * }\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "getModelSchemaRef"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Content",
              "text": "object"
            },
            {
              "kind": "Content",
              "text": ">("
            },
            {
              "kind": "Reference",
              "text": "modelCtor"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Function"
            },
            {
              "kind": "Content",
              "text": " & {\n    "
            },
            {
              "kind": "Reference",
              "text": "prototype"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "options"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "JsonSchemaOptions"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "SchemaRef"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 23,
            "endIndex": 24
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "modelCtor",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 15
              }
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 18,
                "endIndex": 22
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "getModelSchemaRef"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!getWhereSchemaFor:function(1)",
          "docComment": "/**\n * Build a OpenAPI schema describing the format of the \"where\" object used to filter model instances to query, update or delete.\n *\n * Note we don't take the model properties into account yet and return a generic json schema allowing any \"where\" condition.\n *\n * @param modelCtor - The model constructor to build the filter schema for.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "getWhereSchemaFor"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "modelCtor"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "typeof "
            },
            {
              "kind": "Reference",
              "text": "Model"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "SchemaObject"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 8,
            "endIndex": 9
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "modelCtor",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 7
              }
            }
          ],
          "name": "getWhereSchemaFor"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!jsonOrBooleanToJSON:function(1)",
          "docComment": "/**\n * Helper function used to interpret boolean values as JSON Schemas. See http://json-schema.org/draft-06/json-schema-release-notes.html\n *\n * @param jsonOrBool - converts boolean values into their representative JSON Schemas\n *\n * @returns A JSON Schema document representing the input value.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "jsonOrBooleanToJSON"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "jsonOrBool"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "boolean | "
            },
            {
              "kind": "Reference",
              "text": "JsonSchema"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "JsonSchema"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 8,
            "endIndex": 9
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "jsonOrBool",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 7
              }
            }
          ],
          "name": "jsonOrBooleanToJSON"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!jsonToSchemaObject:function(1)",
          "docComment": "/**\n * Converts JSON Schemas into a SchemaObject\n *\n * @param json - JSON Schema to convert from\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "jsonToSchemaObject"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "json"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "JsonSchema"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "SchemaObject"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "SchemaRef"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 7,
            "endIndex": 10
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "json",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            }
          ],
          "name": "jsonToSchemaObject"
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/openapi-v3!OpenApiSpec:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "OpenApiSpec"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Reference",
              "text": "OpenAPIObject"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "OpenApiSpec",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!operation:function(1)",
          "docComment": "/**\n * Expose a Controller method as a REST API operation.\n *\n * @param verb - HTTP verb, e.g. `GET` or `POST`.\n *\n * @param path - The URL path of this operation, e.g. `/product/{id}`\n *\n * @param spec - The OpenAPI specification describing parameters and responses of this operation.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "operation"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "verb"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "path"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "spec"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "OperationObject"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "MethodDecorator"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 15,
            "endIndex": 16
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "verb",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            },
            {
              "parameterName": "spec",
              "parameterTypeTokenRange": {
                "startIndex": 13,
                "endIndex": 14
              }
            }
          ],
          "name": "operation"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!param:function(1)",
          "docComment": "/**\n * Describe an input parameter of a Controller method.\n *\n * `@param` must be applied to parameters.\n *\n * @param paramSpec - Parameter specification.\n *\n * @example\n * ```ts\n * class MyController {\n *   @get('/')\n *   list(\n *     @param(offsetSpec) offset?: number,\n *     @param(pageSizeSpec) pageSize?: number,\n *   ) {}\n * }\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "param"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "paramSpec"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "ParameterObject"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "target"
            },
            {
              "kind": "Content",
              "text": ": object, "
            },
            {
              "kind": "Reference",
              "text": "member"
            },
            {
              "kind": "Content",
              "text": ": string, "
            },
            {
              "kind": "Reference",
              "text": "index"
            },
            {
              "kind": "Content",
              "text": ": number) => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 7,
            "endIndex": 14
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "paramSpec",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            }
          ],
          "name": "param"
        },
        {
          "kind": "Namespace",
          "canonicalReference": "@loopback/openapi-v3!param:namespace",
          "docComment": "/**\n * Namespace for `@param.*` decorators\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare namespace "
            },
            {
              "kind": "Reference",
              "text": "param"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "param",
          "members": [
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/openapi-v3!param.array:var",
              "docComment": "/**\n * Define a parameter of `array` type.\n *\n * @param name - Parameter name\n *\n * @param source - Source of the parameter value\n *\n * @param itemSpec - Item type for the array or the full item object\n *\n * @example\n * ```ts\n * export class MyController {\n *   @get('/greet')\n *   greet(@param.array('names', 'query', {type: 'string'}) names: string[]): string {\n *     return `Hello, ${names}`;\n *   }\n * }\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "array"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "source"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ParameterLocation"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "itemSpec"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "SchemaObject"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "ReferenceObject"
                },
                {
                  "kind": "Content",
                  "text": ") => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void"
                }
              ],
              "releaseTag": "Public",
              "name": "array",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 21
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/openapi-v3!param.header:var",
              "docComment": "/**\n * Header parameter decorator\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "header"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "{\n        "
                },
                {
                  "kind": "Reference",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "integer"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "long"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "float"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "double"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "byte"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "binary"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "date"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "dateTime"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "password"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n    }"
                }
              ],
              "releaseTag": "Public",
              "name": "header",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 195
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/openapi-v3!param.path:var",
              "docComment": "/**\n * Path parameter decorator\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "path"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "{\n        "
                },
                {
                  "kind": "Reference",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "integer"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "long"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "float"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "double"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "byte"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "binary"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "date"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "dateTime"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "password"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n    }"
                }
              ],
              "releaseTag": "Public",
              "name": "path",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 195
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/openapi-v3!param.query:var",
              "docComment": "/**\n * Query parameter decorator\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "query"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "{\n        "
                },
                {
                  "kind": "Reference",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "integer"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "long"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "float"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "double"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "byte"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "binary"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "date"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "dateTime"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "password"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "object"
                },
                {
                  "kind": "Content",
                  "text": ": ("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "schema"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "SchemaObject"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "ReferenceObject"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject"
                },
                {
                  "kind": "Content",
                  "text": "> | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void;\n    }"
                }
              ],
              "releaseTag": "Public",
              "name": "query",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 217
              }
            }
          ]
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!patch:function(1)",
          "docComment": "/**\n * Expose a Controller method as a REST API operation mapped to `PATCH` request method.\n *\n * @param path - The URL path of this operation, e.g. `/product/{id}`\n *\n * @param spec - The OpenAPI specification describing parameters and responses of this operation.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "patch"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "path"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "spec"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "OperationObject"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "MethodDecorator"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 12
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "spec",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            }
          ],
          "name": "patch"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!post:function(1)",
          "docComment": "/**\n * Expose a Controller method as a REST API operation mapped to `POST` request method.\n *\n * @param path - The URL path of this operation, e.g. `/product/{id}`\n *\n * @param spec - The OpenAPI specification describing parameters and responses of this operation.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "post"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "path"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "spec"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "OperationObject"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "MethodDecorator"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 12
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "spec",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            }
          ],
          "name": "post"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!put:function(1)",
          "docComment": "/**\n * Expose a Controller method as a REST API operation mapped to `PUT` request method.\n *\n * @param path - The URL path of this operation, e.g. `/product/{id}`\n *\n * @param spec - The OpenAPI specification describing parameters and responses of this operation.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "put"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "path"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "spec"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "OperationObject"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "MethodDecorator"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 12
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "spec",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            }
          ],
          "name": "put"
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/openapi-v3!REQUEST_BODY_INDEX:var",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Reference",
              "text": "REQUEST_BODY_INDEX"
            },
            {
              "kind": "Content",
              "text": " = \"x-parameter-index\""
            }
          ],
          "releaseTag": "Public",
          "name": "REQUEST_BODY_INDEX",
          "variableTypeTokenRange": {
            "startIndex": 0,
            "endIndex": 0
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-v3!requestBody:function(1)",
          "docComment": "/**\n * Describe the request body of a Controller method parameter.\n *\n * A typical OpenAPI requestBody spec contains property: - `description` - `required` - `content`.\n *\n * @param requestBodySpec - The complete requestBody object or partial of it. \"partial\" for allowing no `content` in spec, for example:\n * ```\n * @requestBody({description: 'a request body'}) user: User\n * ```\n *\n * @example\n * ```ts\n * requestBodySpec: {\n *   description: 'a user',\n *   required: true,\n *   content: {\n *     'application/json': {...schemaSpec},\n *     'application/text': {...schemaSpec},\n *   },\n * }\n * ```\n *\n * If the `content` object is not provided, this decorator sets it as `application/json` by default. If the `schema` object is not provided in a media type, this decorator generates it for you based on the argument's type. In this case, please make sure the argument type is a class decorated by `@model` from `@loopback/repository`\n *\n * The simplest usage is:\n * ```ts\n * class MyController {\n *   @post('/User')\n *   async create(@requestBody() user: User) {}\n * }\n * ```\n *\n * or with properties other than `content`\n * ```ts\n * class MyController {\n *   @post('/User')\n *   async create(@requestBody({description: 'a user'}) user: User) {}\n * }\n * ```\n *\n * or to be more complicated, with your customized media type\n * ```ts\n * class MyController {\n *   @post('/User')\n *   async create(@requestBody({\n *     description: 'a user',\n *     // leave the schema as empty object, the decorator will generate it.\n *     content: {'application/text': {}}\n *   }) user: User) {}\n * }\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "requestBody"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "requestBodySpec"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "Partial"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "RequestBodyObject"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "target"
            },
            {
              "kind": "Content",
              "text": ": object, "
            },
            {
              "kind": "Reference",
              "text": "member"
            },
            {
              "kind": "Content",
              "text": ": string, "
            },
            {
              "kind": "Reference",
              "text": "index"
            },
            {
              "kind": "Content",
              "text": ": number) => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 10,
            "endIndex": 17
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "requestBodySpec",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              }
            }
          ],
          "name": "requestBody"
        },
        {
          "kind": "Namespace",
          "canonicalReference": "@loopback/openapi-v3!requestBody:namespace",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare namespace "
            },
            {
              "kind": "Reference",
              "text": "requestBody"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "requestBody",
          "members": [
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/openapi-v3!requestBody.array:var",
              "docComment": "/**\n * Define a requestBody of `array` type.\n *\n * @param properties - The requestBody properties other than `content`\n *\n * @param itemSpec - the full item object\n *\n * @example\n * ```ts\n * export class MyController {\n *   @post('/greet')\n *   greet(@requestBody.array(\n *     {schema: {type: 'string'}},\n *     {description: 'an array of names', required: false}\n *   ) names: string[]): string {\n *     return `Hello, ${names}`;\n *   }\n * }\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "array"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "itemSpec"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "SchemaObject"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "ReferenceObject"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "properties"
                },
                {
                  "kind": "Content",
                  "text": "?: {\n        "
                },
                {
                  "kind": "Reference",
                  "text": "description"
                },
                {
                  "kind": "Content",
                  "text": "?: string | undefined;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "required"
                },
                {
                  "kind": "Content",
                  "text": "?: boolean | undefined;\n    } | undefined) => ("
                },
                {
                  "kind": "Reference",
                  "text": "target"
                },
                {
                  "kind": "Content",
                  "text": ": object, "
                },
                {
                  "kind": "Reference",
                  "text": "member"
                },
                {
                  "kind": "Content",
                  "text": ": string, "
                },
                {
                  "kind": "Reference",
                  "text": "index"
                },
                {
                  "kind": "Content",
                  "text": ": number) => void"
                }
              ],
              "releaseTag": "Public",
              "name": "array",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 21
              }
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/openapi-v3!RestEndpoint:interface",
          "docComment": "/**\n * Data structure for REST related metadata\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "RestEndpoint"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RestEndpoint",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/openapi-v3!RestEndpoint#path:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "path"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "path",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/openapi-v3!RestEndpoint#spec:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "spec",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/openapi-v3!RestEndpoint#verb:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "verb"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "verb",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/openapi-v3!SchemaRef:type",
          "docComment": "/**\n * Custom LoopBack extension: a reference to Schema object that's bundled inside `definitions` property.\n *\n * @example\n * ```ts\n * const spec: SchemaRef = {\n *   $ref: '/components/schemas/Product',\n *   definitions: {\n *     Product: {\n *       title: 'Product',\n *       properties: {\n *         // etc.\n *       }\n *     }\n *   }\n * }\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "SchemaRef"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Reference",
              "text": "ReferenceObject"
            },
            {
              "kind": "Content",
              "text": " & {\n    "
            },
            {
              "kind": "Reference",
              "text": "definitions"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "SchemasObject"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "SchemaRef",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 9
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/openapi-v3!TS_TYPE_KEY:var",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Reference",
              "text": "TS_TYPE_KEY"
            },
            {
              "kind": "Content",
              "text": " = \"x-ts-type\""
            }
          ],
          "releaseTag": "Public",
          "name": "TS_TYPE_KEY",
          "variableTypeTokenRange": {
            "startIndex": 0,
            "endIndex": 0
          }
        }
      ]
    }
  ]
}
