{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.2.1",
    "schemaVersion": 1001,
    "oldestForwardsCompatibleVersion": 1001
  },
  "kind": "Package",
  "canonicalReference": "@loopback/rest",
  "docComment": "",
  "name": "@loopback/rest",
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "",
      "name": "",
      "members": [
        {
          "kind": "Interface",
          "canonicalReference": "(ApiExplorerOptions:interface)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "ApiExplorerOptions"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "ApiExplorerOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "disabled",
              "docComment": "/**\n * Set this flag to disable the built-in redirect to externally hosted API Explorer UI.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "disabled"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "true"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "disabled",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "httpUrl",
              "docComment": "/**\n * URL for the API explorer served over `http` protocol to deal with mixed content security imposed by browsers as the spec is exposed over `http` by default. See https://github.com/strongloop/loopback-next/issues/1603\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "httpUrl"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "httpUrl",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "url",
              "docComment": "/**\n * URL for the hosted API explorer UI default to https://loopback.io/api-explorer\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "url"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "url",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "(assignRouterSpec:0)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "assignRouterSpec"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "target"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "RouterSpec"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "additions"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "RouterSpec"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 12
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "target",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "additions",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            }
          ],
          "name": "assignRouterSpec"
        },
        {
          "kind": "Class",
          "canonicalReference": "(BaseRoute:class)",
          "docComment": "/**\n * Base implementation of RouteEntry\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare abstract class "
            },
            {
              "kind": "Reference",
              "text": "BaseRoute"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "RouteEntry"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "BaseRoute",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Construct a new route\n *\n * @param verb - http verb\n *\n * @param path - http request path pattern\n *\n * @param spec - OpenAPI operation spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "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": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(describe:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "describe"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "describe"
            },
            {
              "kind": "Method",
              "canonicalReference": "(invokeHandler:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "abstract "
                },
                {
                  "kind": "Reference",
                  "text": "invokeHandler"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "requestContext"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "args"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationRetval"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 11,
                "endIndex": 15
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "args",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                }
              ],
              "name": "invokeHandler"
            },
            {
              "kind": "Property",
              "canonicalReference": "(path:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "path"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "path",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(spec:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "spec",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(updateBindings:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "abstract "
                },
                {
                  "kind": "Reference",
                  "text": "updateBindings"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "requestContext"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "updateBindings"
            },
            {
              "kind": "Property",
              "canonicalReference": "(verb:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "verb"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "verb",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(BindElementProvider:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "BindElementProvider"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Provider"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "BindElement"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "BindElementProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `BindElementProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "context"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(action:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "action"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "key"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "key",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "action"
            },
            {
              "kind": "Property",
              "canonicalReference": "(context:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "context"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "context",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(value:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "value"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "BindElement"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 7
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "(BodyParser:interface)",
          "docComment": "/**\n * Interface to be implemented by body parser extensions\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "BodyParser"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "BodyParser",
          "members": [
            {
              "kind": "MethodSignature",
              "canonicalReference": "(parse:0)",
              "docComment": "/**\n * Parse the request body\n *\n * @param request - http request\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "parse"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "parse"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "(supports:0)",
              "docComment": "/**\n * Indicate if the given media type is supported\n *\n * @param mediaType - Media type\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "supports"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "mediaType"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "mediaType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "supports"
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "name",
              "docComment": "/**\n * Name of the parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string | symbol"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "(compareRoute:0)",
          "docComment": "/**\n * Compare two routes by verb/path for sorting\n *\n * @param route1 - First route entry\n *\n * @param route2 - Second route entry\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "compareRoute"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "route1"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Pick"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "RouteEntry"
            },
            {
              "kind": "Content",
              "text": ", 'verb' | 'path'>"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "route2"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Pick"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "RouteEntry"
            },
            {
              "kind": "Content",
              "text": ", 'verb' | 'path'>"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "number"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 17,
            "endIndex": 18
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "route1",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              }
            },
            {
              "parameterName": "route2",
              "parameterTypeTokenRange": {
                "startIndex": 12,
                "endIndex": 16
              }
            }
          ],
          "name": "compareRoute"
        },
        {
          "kind": "Class",
          "canonicalReference": "(ControllerRoute:class)",
          "docComment": "/**\n * A route backed by a controller\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "ControllerRoute"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "> extends "
            },
            {
              "kind": "Reference",
              "text": "BaseRoute"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "ControllerRoute",
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "(_controllerCtor:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly "
                },
                {
                  "kind": "Reference",
                  "text": "_controllerCtor"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_controllerCtor",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(_controllerFactory:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly "
                },
                {
                  "kind": "Reference",
                  "text": "_controllerFactory"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerFactory"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_controllerFactory",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(_controllerName:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly "
                },
                {
                  "kind": "Reference",
                  "text": "_controllerName"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_controllerName",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(_methodName:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly "
                },
                {
                  "kind": "Reference",
                  "text": "_methodName"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_methodName",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Construct a controller based route\n *\n * @param verb - http verb\n *\n * @param path - http request path\n *\n * @param spec - OpenAPI operation spec\n *\n * @param controllerCtor - Controller class\n *\n * @param controllerFactory - A factory function to create a controller instance\n *\n * @param methodName - Controller method name, default to `x-operation-name`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "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": "controllerCtor"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "controllerFactory"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerFactory"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "methodName"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                },
                {
                  "parameterName": "controllerCtor",
                  "parameterTypeTokenRange": {
                    "startIndex": 15,
                    "endIndex": 19
                  }
                },
                {
                  "parameterName": "controllerFactory",
                  "parameterTypeTokenRange": {
                    "startIndex": 22,
                    "endIndex": 26
                  }
                },
                {
                  "parameterName": "methodName",
                  "parameterTypeTokenRange": {
                    "startIndex": 29,
                    "endIndex": 30
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(describe:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "describe"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "describe"
            },
            {
              "kind": "Method",
              "canonicalReference": "(invokeHandler:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "invokeHandler"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "requestContext"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "args"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationRetval"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 14
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "args",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                }
              ],
              "name": "invokeHandler"
            },
            {
              "kind": "Method",
              "canonicalReference": "(updateBindings:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "updateBindings"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "requestContext"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "updateBindings"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 5,
            "endIndex": 7
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "(createBodyParserBinding:0)",
          "docComment": "/**\n * Create a binding for the given body parser class\n *\n * @param parserClass - Body parser class\n *\n * @param key - Optional binding address\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "createBodyParserBinding"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "parserClass"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Constructor"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "BodyParser"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "key"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "BindingAddress"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "BodyParser"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Binding"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "BodyParser"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 17,
            "endIndex": 21
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "parserClass",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              }
            },
            {
              "parameterName": "key",
              "parameterTypeTokenRange": {
                "startIndex": 12,
                "endIndex": 16
              }
            }
          ],
          "name": "createBodyParserBinding"
        },
        {
          "kind": "Function",
          "canonicalReference": "(createControllerFactoryForBinding:0)",
          "docComment": "/**\n * Create a controller factory function for a given binding key\n *\n * @param key - Binding key\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "createControllerFactoryForBinding"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ">("
            },
            {
              "kind": "Reference",
              "text": "key"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ControllerFactory"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 9,
            "endIndex": 13
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "key",
              "parameterTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "createControllerFactoryForBinding"
        },
        {
          "kind": "Function",
          "canonicalReference": "(createControllerFactoryForClass:0)",
          "docComment": "/**\n * Create a controller factory function for a given class\n *\n * @param controllerCtor - Controller class\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "createControllerFactoryForClass"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ">("
            },
            {
              "kind": "Reference",
              "text": "controllerCtor"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "ControllerClass"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ControllerFactory"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 12,
            "endIndex": 16
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "controllerCtor",
              "parameterTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 11
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "createControllerFactoryForClass"
        },
        {
          "kind": "Function",
          "canonicalReference": "(createControllerFactoryForInstance:0)",
          "docComment": "/**\n * Create a controller factory function for a given instance\n *\n * @param controllerCtor - Controller instance\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "createControllerFactoryForInstance"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ">("
            },
            {
              "kind": "Reference",
              "text": "controllerInst"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ControllerFactory"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 9,
            "endIndex": 13
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "controllerInst",
              "parameterTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "createControllerFactoryForInstance"
        },
        {
          "kind": "Function",
          "canonicalReference": "(createResolvedRoute:0)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "createResolvedRoute"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "route"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "RouteEntry"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "pathParams"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "PathParameterValues"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ResolvedRoute"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 12
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "route",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "pathParams",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            }
          ],
          "name": "createResolvedRoute"
        },
        {
          "kind": "Class",
          "canonicalReference": "(DefaultSequence:class)",
          "docComment": "/**\n * The default implementation of SequenceHandler.\n *\n * @remarks\n *\n * This class implements default Sequence for the LoopBack framework. Default sequence is used if user hasn't defined their own Sequence for their application.\n *\n * Sequence constructor() and run() methods are invoked from [[http-handler]] when the API request comes in. User defines APIs in their Application Controller class.\n *\n * @example\n *\n * User can bind their own Sequence to app as shown below\n * ```ts\n * app.bind(CoreBindings.SEQUENCE).toClass(MySequence);\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "DefaultSequence"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "SequenceHandler"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "DefaultSequence",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructor: Injects findRoute, invokeMethod & logError methods as promises.\n *\n * @param findRoute - Finds the appropriate controller method, spec and args for invocation (injected via SequenceActions.FIND_ROUTE).\n *\n * @param parseParams - The parameter parsing function (injected via SequenceActions.PARSE_PARAMS).\n *\n * @param invoke - Invokes the method specified by the route (injected via SequenceActions.INVOKE_METHOD).\n *\n * @param send - The action to merge the invoke result with the response (injected via SequenceActions.SEND)\n *\n * @param reject - The action to take if the invoke returns a rejected promise result (injected via SequenceActions.REJECT).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "findRoute"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "FindRoute"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "parseParams"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ParseParams"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "invoke"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "InvokeMethod"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "send"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Send"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "reject"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Reject"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "findRoute",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "parseParams",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "invoke",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                },
                {
                  "parameterName": "send",
                  "parameterTypeTokenRange": {
                    "startIndex": 15,
                    "endIndex": 16
                  }
                },
                {
                  "parameterName": "reject",
                  "parameterTypeTokenRange": {
                    "startIndex": 19,
                    "endIndex": 20
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(findRoute:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "findRoute"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "FindRoute"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "findRoute",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(handle:instance,0)",
              "docComment": "/**\n * Runs the default sequence. Given a handler context (request and response), running the sequence will produce a response or an error.\n *\n * Default sequence executes these steps - Finds the appropriate controller method, swagger spec and args for invocation - Parses HTTP request to get API argument list - Invokes the API which is defined in the Application Controller - Writes the result from API into the HTTP response - Error is caught and logged using 'logError' if any of the above steps in the sequence fails with an error.\n *\n * @param context - The request context: HTTP request and response objects, per-request IoC container and more.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "handle"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "context"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RequestContext"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "handle"
            },
            {
              "kind": "Property",
              "canonicalReference": "(invoke:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "invoke"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "InvokeMethod"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "invoke",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(parseParams:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "parseParams"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ParseParams"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "parseParams",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(reject:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "reject"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Reject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "reject",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(send:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "send"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Send"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "send",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(FindRouteProvider:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "FindRouteProvider"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Provider"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "FindRoute"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "FindRouteProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `FindRouteProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "context"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "handler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "HttpHandler"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "handler",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(action:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "action"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "action"
            },
            {
              "kind": "Property",
              "canonicalReference": "(context:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "context"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "context",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(handler:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "handler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "HttpHandler"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "handler",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(value:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "value"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "FindRoute"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 7
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(GetFromContextProvider:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "GetFromContextProvider"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Provider"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "GetFromContext"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "GetFromContextProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `GetFromContextProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "context"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(action:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "action"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "key"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BoundValue"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "key",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "action"
            },
            {
              "kind": "Property",
              "canonicalReference": "(context:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "context"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "context",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(value:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "value"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "GetFromContext"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 7
            }
          ]
        },
        {
          "kind": "Function",
          "canonicalReference": "(getPathVariables:0)",
          "docComment": "/**\n * Get all path variables. For example, `/root/{foo}/bar` => `['foo']`\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "getPathVariables"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "path"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "RegExpMatchArray"
            },
            {
              "kind": "Content",
              "text": " | null"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 7,
            "endIndex": 9
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            }
          ],
          "name": "getPathVariables"
        },
        {
          "kind": "Interface",
          "canonicalReference": "(HandlerContext:interface)",
          "docComment": "/**\n * An object holding HTTP request, response and other data needed to handle an incoming HTTP request.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "HandlerContext"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "HandlerContext",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "request",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "request",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "response",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "response"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Response"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "response",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "(HttpHandler:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "HttpHandler"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "HttpHandler",
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "(_apiDefinitions:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "_apiDefinitions"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "SchemasObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_apiDefinitions",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(_handleRequest:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "_handleRequest"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "response"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Response"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 11,
                "endIndex": 13
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "response",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                }
              ],
              "name": "_handleRequest"
            },
            {
              "kind": "Property",
              "canonicalReference": "(_rootContext:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly "
                },
                {
                  "kind": "Reference",
                  "text": "_rootContext"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_rootContext",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(_routes:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly "
                },
                {
                  "kind": "Reference",
                  "text": "_routes"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RoutingTable"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_routes",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(_serverConfig:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly "
                },
                {
                  "kind": "Reference",
                  "text": "_serverConfig"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RestServerResolvedConfig"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_serverConfig",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `HttpHandler` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "_rootContext"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "_serverConfig"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RestServerResolvedConfig"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "_routes"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RoutingTable"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "_rootContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "_serverConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "_routes",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(describeApiPaths:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "describeApiPaths"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "PathObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "describeApiPaths"
            },
            {
              "kind": "Method",
              "canonicalReference": "(findRoute:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "findRoute"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "findRoute"
            },
            {
              "kind": "Method",
              "canonicalReference": "(getApiDefinitions:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "getApiDefinitions"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "SchemasObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "getApiDefinitions"
            },
            {
              "kind": "Property",
              "canonicalReference": "(handleRequest:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "handleRequest"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "response"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Response"
                },
                {
                  "kind": "Content",
                  "text": ") => "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "handleRequest",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 13
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(registerApiDefinitions:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "registerApiDefinitions"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "defs"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "SchemasObject"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "defs",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "registerApiDefinitions"
            },
            {
              "kind": "Method",
              "canonicalReference": "(registerController:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "registerController"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">("
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerSpec"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "controllerCtor"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "controllerFactory"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerFactory"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 22,
                "endIndex": 23
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 7
                  }
                },
                {
                  "parameterName": "controllerCtor",
                  "parameterTypeTokenRange": {
                    "startIndex": 10,
                    "endIndex": 14
                  }
                },
                {
                  "parameterName": "controllerFactory",
                  "parameterTypeTokenRange": {
                    "startIndex": 17,
                    "endIndex": 21
                  }
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "name": "registerController"
            },
            {
              "kind": "Method",
              "canonicalReference": "(registerRoute:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "registerRoute"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "registerRoute"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "(HttpServerLike:interface)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "HttpServerLike"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "HttpServerLike",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "requestHandler",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "requestHandler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "HttpRequestListener"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "requestHandler",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "(InvokeMethodProvider:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "InvokeMethodProvider"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Provider"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "InvokeMethod"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "InvokeMethodProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `InvokeMethodProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "context"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(action:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "action"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "args"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationRetval"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 14
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "args",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                }
              ],
              "name": "action"
            },
            {
              "kind": "Property",
              "canonicalReference": "(context:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "context"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "context",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(value:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "value"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "InvokeMethod"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 7
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(JsonBodyParser:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "JsonBodyParser"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "BodyParser"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "JsonBodyParser",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `JsonBodyParser` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "options"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(name:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "symbol"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(parse:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "parse"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "parse"
            },
            {
              "kind": "Method",
              "canonicalReference": "(supports:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "supports"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "mediaType"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "mediaType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "supports"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(LogErrorProvider:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "LogErrorProvider"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Provider"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "LogError"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "LogErrorProvider",
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "(action:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "action"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "err"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Error"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "statusCode"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "req"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 14,
                "endIndex": 15
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "err",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "statusCode",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "req",
                  "parameterTypeTokenRange": {
                    "startIndex": 12,
                    "endIndex": 13
                  }
                }
              ],
              "name": "action"
            },
            {
              "kind": "Method",
              "canonicalReference": "(value:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "value"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "LogError"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 7
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "(Node:interface)",
          "docComment": "/**\n * A Node in the trie\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "Node"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "Node",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "children",
              "docComment": "/**\n * Children of the node\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "children"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "{\n        ["
                },
                {
                  "kind": "Reference",
                  "text": "key"
                },
                {
                  "kind": "Content",
                  "text": ": string]: "
                },
                {
                  "kind": "Reference",
                  "text": "Node"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "children",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 10
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "key",
              "docComment": "/**\n * Key of the node\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "key"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "key",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "names",
              "docComment": "/**\n * Names of the node if it contains named parameters\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "names"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "names",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "regexp",
              "docComment": "/**\n * Regular expression for the template\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "regexp"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RegExp"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "regexp",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "value",
              "docComment": "/**\n * Value of the node\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "value"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "value",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "(OpenApiSpecForm:interface)",
          "docComment": "/**\n * The form of OpenAPI specs to be served\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "OpenApiSpecForm"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "OpenApiSpecForm",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "format",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "format"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "format",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "version",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "version"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "version",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "(OpenApiSpecOptions:interface)",
          "docComment": "/**\n * Options to customize how OpenAPI specs are served\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "OpenApiSpecOptions"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "OpenApiSpecOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "disabled",
              "docComment": "/**\n * Set this flag to disable the endpoint for OpenAPI spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "disabled"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "true"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "disabled",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "endpointMapping",
              "docComment": "/**\n * Mapping of urls to spec forms, by default:\n * ```\n * {\n *   '/openapi.json': {version: '3.0.0', format: 'json'},\n *   '/openapi.yaml': {version: '3.0.0', format: 'yaml'},\n * }\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "endpointMapping"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        ["
                },
                {
                  "kind": "Reference",
                  "text": "key"
                },
                {
                  "kind": "Content",
                  "text": ": string]: "
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpecForm"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "endpointMapping",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 7
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "servers",
              "docComment": "/**\n * Configure servers for OpenAPI spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "servers"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ServerObject"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "servers",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "setServersFromRequest",
              "docComment": "/**\n * A flag to force `servers` to be set from the http request for the OpenAPI spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "setServersFromRequest"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "setServersFromRequest",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "(parseJson:0)",
          "docComment": "/**\n * @param text - JSON string\n *\n * @param reviver - Optional reviver function for `JSON.parse`\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "parseJson"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "text"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "reviver"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "key"
            },
            {
              "kind": "Content",
              "text": ": any, "
            },
            {
              "kind": "Reference",
              "text": "value"
            },
            {
              "kind": "Content",
              "text": ": any) => any"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "any"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 15,
            "endIndex": 16
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "text",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "reviver",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 14
              }
            }
          ],
          "name": "parseJson"
        },
        {
          "kind": "Function",
          "canonicalReference": "(parseOperationArgs:0)",
          "docComment": "/**\n * Parses the request to derive arguments to be passed in for the Application controller method\n *\n * @param request - Incoming HTTP request\n *\n * @param route - Resolved Route\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "parseOperationArgs"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "request"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Request"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "route"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "ResolvedRoute"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "requestBodyParser"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "RequestBodyParser"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "options"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "RequestBodyValidationOptions"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "OperationArgs"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 19,
            "endIndex": 23
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "request",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "route",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            },
            {
              "parameterName": "requestBodyParser",
              "parameterTypeTokenRange": {
                "startIndex": 13,
                "endIndex": 14
              }
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 17,
                "endIndex": 18
              }
            }
          ],
          "name": "parseOperationArgs"
        },
        {
          "kind": "Class",
          "canonicalReference": "(ParseParamsProvider:class)",
          "docComment": "/**\n * Provides the function for parsing args in requests at runtime.\n *\n * @returns The handler function that will parse request args.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "ParseParamsProvider"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Provider"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ParseParams"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "ParseParamsProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `ParseParamsProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "requestBodyParser"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParser"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "options"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "requestBodyParser",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(value:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "value"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute"
                },
                {
                  "kind": "Content",
                  "text": ") => "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<any[]>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 13
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 7
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(RawBodyParser:class)",
          "docComment": "/**\n * Parsing the request body into Buffer\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "RawBodyParser"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "BodyParser"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RawBodyParser",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `RawBodyParser` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "options"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(name:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "symbol"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(parse:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "parse"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "parse"
            },
            {
              "kind": "Method",
              "canonicalReference": "(supports:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "supports"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "mediaType"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "mediaType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "supports"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Function",
          "canonicalReference": "(rebaseOpenApiSpec:0)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "rebaseOpenApiSpec"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "Partial"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "OpenApiSpec"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ">("
            },
            {
              "kind": "Reference",
              "text": "spec"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "basePath"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 18,
            "endIndex": 19
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "spec",
              "parameterTypeTokenRange": {
                "startIndex": 12,
                "endIndex": 13
              }
            },
            {
              "parameterName": "basePath",
              "parameterTypeTokenRange": {
                "startIndex": 16,
                "endIndex": 17
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "rebaseOpenApiSpec"
        },
        {
          "kind": "Class",
          "canonicalReference": "(RedirectRoute:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "RedirectRoute"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "RouteEntry"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "ResolvedRoute"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RedirectRoute",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `RedirectRoute` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "sourcePath"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "targetLocation"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "statusCode"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "sourcePath",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "targetLocation",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "statusCode",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(describe:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "describe"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "describe"
            },
            {
              "kind": "Method",
              "canonicalReference": "(invokeHandler:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "invokeHandler"
                },
                {
                  "kind": "Content",
                  "text": "({ "
                },
                {
                  "kind": "Reference",
                  "text": "response"
                },
                {
                  "kind": "Content",
                  "text": " }: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestContext"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "args"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationRetval"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 14
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "{ response }",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "args",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                }
              ],
              "name": "invokeHandler"
            },
            {
              "kind": "Property",
              "canonicalReference": "(path:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "path"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "path",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(pathParams:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "pathParams"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "PathParameterValues"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "pathParams",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(schemas:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "schemas"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "SchemasObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "schemas",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(spec:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "spec",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(updateBindings:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "updateBindings"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "requestContext"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RequestContext"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "updateBindings"
            },
            {
              "kind": "Property",
              "canonicalReference": "(verb:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "verb"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "verb",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            },
            {
              "startIndex": 5,
              "endIndex": 7
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(RegExpRouter:class)",
          "docComment": "/**\n * Router implementation based on regexp matching\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "RegExpRouter"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "BaseRouter"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RegExpRouter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `RegExpRouter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "options"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RestRouterOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(addRouteWithPathVars:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "addRouteWithPathVars"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "addRouteWithPathVars"
            },
            {
              "kind": "Method",
              "canonicalReference": "(findRouteWithPathVars:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "findRouteWithPathVars"
                },
                {
                  "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": "ResolvedRoute"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 11,
                "endIndex": 13
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                }
              ],
              "name": "findRouteWithPathVars"
            },
            {
              "kind": "Method",
              "canonicalReference": "(listRoutesWithPathVars:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "listRoutesWithPathVars"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "RegExpRouteEntry"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "listRoutesWithPathVars"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "(RejectProvider:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "RejectProvider"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Provider"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Reject"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "RejectProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `RejectProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "logError"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "LogError"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "errorWriterOptions"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ErrorWriterOptions"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "logError",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "errorWriterOptions",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 9
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(action:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "action"
                },
                {
                  "kind": "Content",
                  "text": "({ "
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "response"
                },
                {
                  "kind": "Content",
                  "text": " }: "
                },
                {
                  "kind": "Reference",
                  "text": "HandlerContext"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "error"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Error"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 12,
                "endIndex": 13
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "{ request, response }",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 7
                  }
                },
                {
                  "parameterName": "error",
                  "parameterTypeTokenRange": {
                    "startIndex": 10,
                    "endIndex": 11
                  }
                }
              ],
              "name": "action"
            },
            {
              "kind": "Property",
              "canonicalReference": "(errorWriterOptions:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "errorWriterOptions"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ErrorWriterOptions"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "errorWriterOptions",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(logError:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "logError"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "LogError"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "logError",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(value:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "value"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Reject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 7
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(RequestBodyParser:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "RequestBodyParser"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RequestBodyParser",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `RequestBodyParser` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "parsers"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "ctx"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "parsers",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "ctx",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 10
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(loadRequestBodyIfNeeded:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "loadRequestBodyIfNeeded"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "operationSpec"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 14
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "operationSpec",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                }
              ],
              "name": "loadRequestBodyIfNeeded"
            },
            {
              "kind": "Property",
              "canonicalReference": "(parsers:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "parsers"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "parsers",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "(RequestBodyParserOptions:interface)",
          "docComment": "/**\n * Options for request body parsing See https://github.com/expressjs/body-parser/#options\n *\n * Built-in parsers retrieve their own options from the request body parser options. The parser specific properties override common ones.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "RequestBodyParserOptions"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "Options"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RequestBodyParserOptions",
          "members": [
            {
              "kind": "IndexSignature",
              "canonicalReference": "(:index,0)",
              "docComment": "/**\n * Common options for all parsers\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "unknown"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "json",
              "docComment": "/**\n * Options for json parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "json"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "OptionsJson"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "json",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "raw",
              "docComment": "/**\n * Options for raw parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "raw"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Options"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "raw",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "text",
              "docComment": "/**\n * Options for text parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "text"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "OptionsText"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "text",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "urlencoded",
              "docComment": "/**\n * Options for urlencoded parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "urlencoded"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "OptionsUrlencoded"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "urlencoded",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "validation",
              "docComment": "/**\n * Validation options for AJV, see https://github.com/epoberezkin/ajv#options This setting is global for all request body parsers and it cannot be overridden inside parser specific properties such as `json` or `text`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "validation"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyValidationOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "validation",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "(RequestBodyValidationOptions:interface)",
          "docComment": "/**\n * Options for request body validation using AJV\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "RequestBodyValidationOptions"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "ajv"
            },
            {
              "kind": "Content",
              "text": "."
            },
            {
              "kind": "Reference",
              "text": "Options"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RequestBodyValidationOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "compiledSchemaCache",
              "docComment": "/**\n * Custom cache for compiled schemas by AJV. This setting makes it possible to skip the default cache.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "compiledSchemaCache"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "SchemaValidatorCache"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "compiledSchemaCache",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 7
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(RequestContext:class)",
          "docComment": "/**\n * A per-request Context combining an IoC container with handler context (request, response, etc.).\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "RequestContext"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "Context"
            },
            {
              "kind": "Content",
              "text": " "
            },
            {
              "kind": "Content",
              "text": "implements "
            },
            {
              "kind": "Reference",
              "text": "HandlerContext"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RequestContext",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `RequestContext` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "response"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Response"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "parent"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "serverConfig"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RestServerResolvedConfig"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "response",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "parent",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                },
                {
                  "parameterName": "serverConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 15,
                    "endIndex": 16
                  }
                },
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 19,
                    "endIndex": 20
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(basePath:instance)",
              "docComment": "/**\n * Get the effective base path of the incoming request. This base path combines `baseUrl` provided by Express when LB4 handler is mounted on a non-root path, with the `basePath` value configured at LB4 side.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "basePath"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "basePath",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(request:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "request",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(requestedBaseUrl:instance)",
              "docComment": "/**\n * Get the base URL used by the client to make the request. This URL contains the protocol, hostname, port and base path. The path of the invoked route and query string is not included.\n *\n * Please note these values may be different from what we are observing at HTTP/TCP level, because reverse proxies like nginx are rewriting them.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "requestedBaseUrl"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "requestedBaseUrl",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(requestedProtocol:instance)",
              "docComment": "/**\n * Get the protocol used by the client to make the request. Please note this protocol may be different from what we are observing at HTTP/TCP level, because reverse proxies like nginx or sidecars like Envoy are switching between protocols.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "requestedProtocol"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "requestedProtocol",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(response:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "response"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Response"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "response",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(serverConfig:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "serverConfig"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RestServerResolvedConfig"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "serverConfig",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "implementsTokenRanges": [
            {
              "startIndex": 6,
              "endIndex": 8
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "(ResolvedNode:interface)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "ResolvedNode"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "ResolvedNode",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "node",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "node"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Node"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "node",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "params",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "params"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "PathParameterValues"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "params",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "(ResolvedRoute:interface)",
          "docComment": "/**\n * A route with path parameters resolved\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "ResolvedRoute"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "RouteEntry"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "ResolvedRoute",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "pathParams",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "pathParams"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "PathParameterValues"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "pathParams",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "schemas",
              "docComment": "/**\n * Server/application wide schemas shared by multiple routes, e.g. model schemas. This is a temporary workaround for missing support for $ref references, see https://github.com/strongloop/loopback-next/issues/435\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "schemas"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "SchemasObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "schemas",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(RestApplication:class)",
          "docComment": "/**\n * An implementation of the Application class that automatically provides an instance of a REST server. This application class is intended to be a single-server implementation. Any attempt to bind additional servers will throw an error.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "RestApplication"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "Application"
            },
            {
              "kind": "Content",
              "text": " "
            },
            {
              "kind": "Content",
              "text": "implements "
            },
            {
              "kind": "Reference",
              "text": "HttpServerLike"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RestApplication",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `RestApplication` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "config"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationConfig"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "config",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(api:instance,0)",
              "docComment": "/**\n * Set the OpenAPI specification that defines the REST API schema for this application. All routes, parameter definitions and return types will be defined in this way.\n *\n * Note that this will override any routes defined via decorators at the controller level (this function takes precedent).\n *\n * @param spec - The OpenAPI specification, as an object.\n *\n * @returns Binding for the api spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "api"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpec"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "api"
            },
            {
              "kind": "Method",
              "canonicalReference": "(basePath:instance,0)",
              "docComment": "/**\n * Configure the `basePath` for the rest server\n *\n * @param path - Base path\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "basePath"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "path"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "basePath"
            },
            {
              "kind": "Method",
              "canonicalReference": "(bodyParser:instance,0)",
              "docComment": "/**\n * Bind a body parser to the server context\n *\n * @param parserClass - Body parser class\n *\n * @param address - Optional binding address\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "bodyParser"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "bodyParserClass"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "address"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingAddress"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 16,
                "endIndex": 20
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "bodyParserClass",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "address",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 15
                  }
                }
              ],
              "name": "bodyParser"
            },
            {
              "kind": "Method",
              "canonicalReference": "(handler:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "handler"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "handlerFn"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "SequenceFunction"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "handlerFn",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "handler"
            },
            {
              "kind": "Method",
              "canonicalReference": "(mountExpressRouter:instance,0)",
              "docComment": "/**\n * Mount an Express router to expose additional REST endpoints handled via legacy Express-based stack.\n *\n * @param basePath - Path where to mount the router at, e.g. `/` or `/api`.\n *\n * @param router - The Express router to handle the requests.\n *\n * @param spec - A partial OpenAPI spec describing endpoints provided by the router. LoopBack will prepend `basePath` to all endpoints automatically. This argument is optional. You can leave it out if you don't want to document the routes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "mountExpressRouter"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "basePath"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "router"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressRequestHandler"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RouterSpec"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 14,
                "endIndex": 15
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "basePath",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "router",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 12,
                    "endIndex": 13
                  }
                }
              ],
              "name": "mountExpressRouter"
            },
            {
              "kind": "Method",
              "canonicalReference": "(redirect:instance,0)",
              "docComment": "/**\n * Register a route redirecting callers to a different URL.\n *\n * @param fromPath - URL path of the redirect endpoint\n *\n * @param toPathOrUrl - Location (URL path or full URL) where to redirect to. If your server is configured with a custom `basePath`, then the base path is prepended to the target location.\n *\n * @param statusCode - HTTP status code to respond with, defaults to 303 (See Other).\n *\n * @example\n * ```ts\n * app.redirect('/explorer', '/explorer/');\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "redirect"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "fromPath"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "toPathOrUrl"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "statusCode"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 14,
                "endIndex": 15
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "fromPath",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "toPathOrUrl",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "statusCode",
                  "parameterTypeTokenRange": {
                    "startIndex": 12,
                    "endIndex": 13
                  }
                }
              ],
              "name": "redirect"
            },
            {
              "kind": "Property",
              "canonicalReference": "(requestHandler:instance)",
              "docComment": "/**\n * Handle incoming HTTP(S) request by invoking the corresponding Controller method via the configured Sequence.\n *\n * @param req - The request.\n *\n * @param res - The response.\n *\n * @example\n * ```ts\n * const app = new RestApplication();\n * // setup controllers, etc.\n *\n * const server = http.createServer(app.requestHandler);\n * server.listen(3000);\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "requestHandler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "HttpRequestListener"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "requestHandler",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(restServer:instance)",
              "docComment": "/**\n * The main REST server instance providing REST API for this application.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "restServer"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RestServer"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "restServer",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(route:instance,1)",
              "docComment": "/**\n * Register a new Controller-based route.\n *\n * @param verb - HTTP verb of the endpoint\n *\n * @param path - URL path of the endpoint\n *\n * @param spec - The OpenAPI spec describing the endpoint (operation)\n *\n * @param controllerCtor - Controller constructor\n *\n * @param controllerFactory - A factory function to create controller instance\n *\n * @param methodName - The name of the controller method\n *\n * @example\n * ```ts\n * class MyController {\n *   greet(name: string) {\n *     return `hello ${name}`;\n *   }\n * }\n * app.route('get', '/greet', operationSpec, MyController, 'greet');\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "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": "controllerCtor"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "controllerFactory"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerFactory"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "methodName"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 34,
                "endIndex": 35
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 7
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 10,
                    "endIndex": 11
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 14,
                    "endIndex": 15
                  }
                },
                {
                  "parameterName": "controllerCtor",
                  "parameterTypeTokenRange": {
                    "startIndex": 18,
                    "endIndex": 22
                  }
                },
                {
                  "parameterName": "controllerFactory",
                  "parameterTypeTokenRange": {
                    "startIndex": 25,
                    "endIndex": 29
                  }
                },
                {
                  "parameterName": "methodName",
                  "parameterTypeTokenRange": {
                    "startIndex": 32,
                    "endIndex": 33
                  }
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "(route:instance,2)",
              "docComment": "/**\n * Register a new route invoking a handler function.\n *\n * @param verb - HTTP verb of the endpoint\n *\n * @param path - URL path of the endpoint\n *\n * @param spec - The OpenAPI spec describing the endpoint (operation)\n *\n * @param handler - The function to invoke with the request parameters described in the spec.\n *\n * @example\n * ```ts\n * function greet(name: string) {\n *  return `hello ${name}`;\n * }\n * app.route('get', '/', operationSpec, greet);\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "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": "handler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Function"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 18,
                "endIndex": 19
              },
              "releaseTag": "Public",
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 12,
                    "endIndex": 13
                  }
                },
                {
                  "parameterName": "handler",
                  "parameterTypeTokenRange": {
                    "startIndex": 16,
                    "endIndex": 17
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "(route:instance,3)",
              "docComment": "/**\n * Register a new route.\n *\n * @param route - The route to add.\n *\n * @example\n * ```ts\n * function greet(name: string) {\n *  return `hello ${name}`;\n * }\n * const route = new Route('get', '/', operationSpec, greet);\n * app.route(route);\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 3,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "(route:instance,4)",
              "docComment": "/**\n * Register a new route.\n *\n * @example\n * ```ts\n * function greet(name: string) {\n *  return `hello ${name}`;\n * }\n * app.route('get', '/', operationSpec, greet);\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "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": "handler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Function"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 18,
                "endIndex": 19
              },
              "releaseTag": "Public",
              "overloadIndex": 4,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 12,
                    "endIndex": 13
                  }
                },
                {
                  "parameterName": "handler",
                  "parameterTypeTokenRange": {
                    "startIndex": 16,
                    "endIndex": 17
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "(sequence:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "sequence"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "sequence"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "SequenceHandler"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "sequence",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 8
                  }
                }
              ],
              "name": "sequence"
            },
            {
              "kind": "Method",
              "canonicalReference": "(server:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "server"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "server"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Server"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 13,
                "endIndex": 14
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "server",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                }
              ],
              "name": "server"
            },
            {
              "kind": "Method",
              "canonicalReference": "(static:instance,0)",
              "docComment": "/**\n * Mount static assets to the REST server. See https://expressjs.com/en/4x/api.html#express.static\n *\n * @param path - The path(s) to serve the asset. See examples at https://expressjs.com/en/4x/api.html#path-examples To avoid performance penalty, `/` is not allowed for now.\n *\n * @param rootDir - The root directory from which to serve static assets\n *\n * @param options - Options for serve-static\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "static"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "path"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "PathParams"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "rootDir"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "options"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ServeStaticOptions"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 14,
                "endIndex": 15
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "rootDir",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 12,
                    "endIndex": 13
                  }
                }
              ],
              "name": "static"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "implementsTokenRanges": [
            {
              "startIndex": 6,
              "endIndex": 8
            }
          ]
        },
        {
          "kind": "Namespace",
          "canonicalReference": "(RestBindings:namespace)",
          "docComment": "/**\n * RestServer-specific bindings\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare namespace "
            },
            {
              "kind": "Reference",
              "text": "RestBindings"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RestBindings",
          "members": [
            {
              "kind": "Namespace",
              "canonicalReference": "(Http:namespace)",
              "docComment": "/**\n * Request-specific bindings\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "namespace "
                },
                {
                  "kind": "Reference",
                  "text": "Http"
                },
                {
                  "kind": "Content",
                  "text": " "
                }
              ],
              "releaseTag": "Public",
              "name": "Http",
              "members": [
                {
                  "kind": "Variable",
                  "canonicalReference": "CONTEXT",
                  "docComment": "/**\n * Binding key for setting and injecting the http request context\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "CONTEXT"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "Context"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "CONTEXT",
                  "variableTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 6
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "REQUEST",
                  "docComment": "/**\n * Binding key for setting and injecting the http request\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "REQUEST"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "Request"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "REQUEST",
                  "variableTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 6
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "RESPONSE",
                  "docComment": "/**\n * Binding key for setting and injecting the http response\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "RESPONSE"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "Response"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "RESPONSE",
                  "variableTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 6
                  }
                }
              ]
            },
            {
              "kind": "Namespace",
              "canonicalReference": "(SequenceActions:namespace)",
              "docComment": "/**\n * Bindings for potential actions that could be used in a sequence\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "namespace "
                },
                {
                  "kind": "Reference",
                  "text": "SequenceActions"
                },
                {
                  "kind": "Content",
                  "text": " "
                }
              ],
              "releaseTag": "Public",
              "name": "SequenceActions",
              "members": [
                {
                  "kind": "Variable",
                  "canonicalReference": "FIND_ROUTE",
                  "docComment": "/**\n * Binding key for setting and injecting a route finding function\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "FIND_ROUTE"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "FindRoute"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "FIND_ROUTE",
                  "variableTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 6
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "INVOKE_METHOD",
                  "docComment": "/**\n * Binding key for setting and injecting a controller route invoking function\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "INVOKE_METHOD"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "InvokeMethod"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "INVOKE_METHOD",
                  "variableTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 6
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "LOG_ERROR",
                  "docComment": "/**\n * Binding key for setting and injecting an error logging function\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "LOG_ERROR"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "LogError"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "LOG_ERROR",
                  "variableTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 6
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "PARSE_PARAMS",
                  "docComment": "/**\n * Binding key for setting and injecting a parameter parsing function\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "PARSE_PARAMS"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "ParseParams"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "PARSE_PARAMS",
                  "variableTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 6
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "REJECT",
                  "docComment": "/**\n * Binding key for setting and injecting a bad response writing function\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "REJECT"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "Reject"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "REJECT",
                  "variableTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 6
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "SEND",
                  "docComment": "/**\n * Binding key for setting and injecting a response writing function\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "SEND"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "Send"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "SEND",
                  "variableTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 6
                  }
                }
              ]
            },
            {
              "kind": "Variable",
              "canonicalReference": "API_SPEC",
              "docComment": "/**\n * Binding key for setting and injecting an OpenAPI spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "API_SPEC"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<import(\"@loopback/openapi-v3\")."
                },
                {
                  "kind": "Reference",
                  "text": "OpenAPIObject"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "API_SPEC",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "BASE_PATH",
              "docComment": "/**\n * Internal binding key for basePath\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "BASE_PATH"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                }
              ],
              "releaseTag": "Public",
              "name": "BASE_PATH",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "BIND_ELEMENT",
              "docComment": "/**\n * Binding key for setting and injecting a wrapper function for setting values on a given context\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "BIND_ELEMENT"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BindElement"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "BIND_ELEMENT",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "CONFIG",
              "docComment": "/**\n * Binding key for setting and injecting RestComponentConfig\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "CONFIG"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<unknown>"
                }
              ],
              "releaseTag": "Public",
              "name": "CONFIG",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "ERROR_WRITER_OPTIONS",
              "docComment": "/**\n * Binding key for setting and injecting Reject action's error handling options.\n *\n * See https://github.com/strongloop/strong-error-handler#options for the list of available options. Please note that the flag `log` is not used by `@loopback/rest`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "ERROR_WRITER_OPTIONS"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ErrorWriterOptions"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "ERROR_WRITER_OPTIONS",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "GET_FROM_CONTEXT",
              "docComment": "/**\n * Binding key for setting and injecting a wrapper function for retrieving values from a given context\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "GET_FROM_CONTEXT"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "GetFromContext"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "GET_FROM_CONTEXT",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "HANDLER",
              "docComment": "/**\n * Internal binding key for http-handler\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "HANDLER"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "HttpHandler"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "HANDLER",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "HOST",
              "docComment": "/**\n * Binding key for setting and injecting the host name of RestServer\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "HOST"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<string | undefined>"
                }
              ],
              "releaseTag": "Public",
              "name": "HOST",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "HTTPS_OPTIONS",
              "docComment": "/**\n * Binding key for HTTPS options\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "HTTPS_OPTIONS"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "https"
                },
                {
                  "kind": "Content",
                  "text": "."
                },
                {
                  "kind": "Reference",
                  "text": "ServerOptions"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "HTTPS_OPTIONS",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 8
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "PORT",
              "docComment": "/**\n * Binding key for setting and injecting the port number of RestServer\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "PORT"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<number>"
                }
              ],
              "releaseTag": "Public",
              "name": "PORT",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "PROTOCOL",
              "docComment": "/**\n * Binding key for setting and injecting the protocol of RestServer\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "PROTOCOL"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "HttpProtocol"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "PROTOCOL",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "REQUEST_BODY_PARSER",
              "docComment": "/**\n * Binding key for request body parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "REQUEST_BODY_PARSER"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "REQUEST_BODY_PARSER_JSON",
              "docComment": "/**\n * Binding key for request json body parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "REQUEST_BODY_PARSER_JSON"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER_JSON",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "REQUEST_BODY_PARSER_OPTIONS",
              "docComment": "/**\n * Binding key for request body parser options\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "REQUEST_BODY_PARSER_OPTIONS"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER_OPTIONS",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "REQUEST_BODY_PARSER_RAW",
              "docComment": "/**\n * Binding key for request raw body parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "REQUEST_BODY_PARSER_RAW"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER_RAW",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "REQUEST_BODY_PARSER_STREAM",
              "docComment": "/**\n * Binding key for request raw body parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "REQUEST_BODY_PARSER_STREAM"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER_STREAM",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "REQUEST_BODY_PARSER_TEXT",
              "docComment": "/**\n * Binding key for request text body parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "REQUEST_BODY_PARSER_TEXT"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER_TEXT",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "REQUEST_BODY_PARSER_URLENCODED",
              "docComment": "/**\n * Binding key for request urlencoded body parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "REQUEST_BODY_PARSER_URLENCODED"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER_URLENCODED",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "ROUTER",
              "docComment": "/**\n * Internal binding key for rest router\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "ROUTER"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RestRouter"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "ROUTER",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "ROUTER_OPTIONS",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "ROUTER_OPTIONS"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RestRouterOptions"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "ROUTER_OPTIONS",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "SEQUENCE",
              "docComment": "/**\n * Binding key for setting and injecting a Sequence\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "SEQUENCE"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "SequenceHandler"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "SEQUENCE",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "URL",
              "docComment": "/**\n * Binding key for setting and injecting the URL of RestServer\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "URL"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                }
              ],
              "releaseTag": "Public",
              "name": "URL",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              }
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(RestComponent:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "RestComponent"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Component"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RestComponent",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `RestComponent` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "config"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RestComponentConfig"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "config",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(bindings:instance)",
              "docComment": "/**\n * Add built-in body parsers\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "bindings"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParser"
                },
                {
                  "kind": "Content",
                  "text": "> | "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": "<import(\"./body-parsers\")."
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">)[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "bindings",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 11
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(providers:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "providers"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ProviderMap"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "providers",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(servers:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "servers"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "{\n        ["
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string]: "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Server"
                },
                {
                  "kind": "Content",
                  "text": ">;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "servers",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 9
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Namespace",
          "canonicalReference": "(RestHttpErrors:namespace)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare namespace "
            },
            {
              "kind": "Reference",
              "text": "RestHttpErrors"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RestHttpErrors",
          "members": [
            {
              "kind": "Function",
              "canonicalReference": "(invalidData:0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "function "
                },
                {
                  "kind": "Reference",
                  "text": "invalidData"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "Props"
                },
                {
                  "kind": "Content",
                  "text": " extends "
                },
                {
                  "kind": "Content",
                  "text": "object "
                },
                {
                  "kind": "Content",
                  "text": "= "
                },
                {
                  "kind": "Content",
                  "text": "{}"
                },
                {
                  "kind": "Content",
                  "text": ">("
                },
                {
                  "kind": "Reference",
                  "text": "data"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "extraProperties"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Props"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpErrors"
                },
                {
                  "kind": "Content",
                  "text": "."
                },
                {
                  "kind": "Reference",
                  "text": "HttpError"
                },
                {
                  "kind": "Content",
                  "text": " & "
                },
                {
                  "kind": "Reference",
                  "text": "Props"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 23,
                "endIndex": 28
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "data",
                  "parameterTypeTokenRange": {
                    "startIndex": 13,
                    "endIndex": 14
                  }
                },
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 17,
                    "endIndex": 18
                  }
                },
                {
                  "parameterName": "extraProperties",
                  "parameterTypeTokenRange": {
                    "startIndex": 21,
                    "endIndex": 22
                  }
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                },
                {
                  "typeParameterName": "Props",
                  "constraintTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                }
              ],
              "name": "invalidData"
            },
            {
              "kind": "Function",
              "canonicalReference": "(invalidParamLocation:0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "function "
                },
                {
                  "kind": "Reference",
                  "text": "invalidParamLocation"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "location"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpErrors"
                },
                {
                  "kind": "Content",
                  "text": "."
                },
                {
                  "kind": "Reference",
                  "text": "HttpError"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "location",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "invalidParamLocation"
            },
            {
              "kind": "Function",
              "canonicalReference": "(invalidRequestBody:0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "function "
                },
                {
                  "kind": "Reference",
                  "text": "invalidRequestBody"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpErrors"
                },
                {
                  "kind": "Content",
                  "text": "."
                },
                {
                  "kind": "Reference",
                  "text": "HttpError"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "invalidRequestBody"
            },
            {
              "kind": "Function",
              "canonicalReference": "(missingRequired:0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "function "
                },
                {
                  "kind": "Reference",
                  "text": "missingRequired"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpErrors"
                },
                {
                  "kind": "Content",
                  "text": "."
                },
                {
                  "kind": "Reference",
                  "text": "HttpError"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "missingRequired"
            },
            {
              "kind": "Function",
              "canonicalReference": "(unsupportedMediaType:0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "function "
                },
                {
                  "kind": "Reference",
                  "text": "unsupportedMediaType"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "contentType"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "allowedTypes"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpErrors"
                },
                {
                  "kind": "Content",
                  "text": "."
                },
                {
                  "kind": "Reference",
                  "text": "HttpError"
                },
                {
                  "kind": "Content",
                  "text": " & {\n        "
                },
                {
                  "kind": "Reference",
                  "text": "code"
                },
                {
                  "kind": "Content",
                  "text": ": string;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "contentType"
                },
                {
                  "kind": "Content",
                  "text": ": string;\n        "
                },
                {
                  "kind": "Reference",
                  "text": "allowedMediaTypes"
                },
                {
                  "kind": "Content",
                  "text": ": string[];\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 11,
                "endIndex": 21
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "contentType",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "allowedTypes",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                }
              ],
              "name": "unsupportedMediaType"
            },
            {
              "kind": "Interface",
              "canonicalReference": "(ValidationErrorDetails:interface)",
              "docComment": "/**\n * An invalid request body error contains a `details` property as the machine-readable error. Each entry in `error.details` contains 4 attributes: `path`, `code`, `info` and `message`. `ValidationErrorDetails` defines the type of each entry, which is an object. The type of `error.details` is `ValidationErrorDetails[]`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "interface "
                },
                {
                  "kind": "Reference",
                  "text": "ValidationErrorDetails"
                },
                {
                  "kind": "Content",
                  "text": " "
                }
              ],
              "releaseTag": "Public",
              "name": "ValidationErrorDetails",
              "members": [
                {
                  "kind": "PropertySignature",
                  "canonicalReference": "code",
                  "docComment": "/**\n * A single word code represents the error's type.\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "code"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Content",
                      "text": "string"
                    },
                    {
                      "kind": "Content",
                      "text": ";"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "code",
                  "propertyTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 3
                  }
                },
                {
                  "kind": "PropertySignature",
                  "canonicalReference": "info",
                  "docComment": "/**\n * Some additional details that the 3 attributes above don't cover.\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "info"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Content",
                      "text": "object"
                    },
                    {
                      "kind": "Content",
                      "text": ";"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "info",
                  "propertyTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 3
                  }
                },
                {
                  "kind": "PropertySignature",
                  "canonicalReference": "message",
                  "docComment": "/**\n * A human readable description of the error.\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "message"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Content",
                      "text": "string"
                    },
                    {
                      "kind": "Content",
                      "text": ";"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "message",
                  "propertyTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 3
                  }
                },
                {
                  "kind": "PropertySignature",
                  "canonicalReference": "path",
                  "docComment": "/**\n * A path to the invalid field.\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Reference",
                      "text": "path"
                    },
                    {
                      "kind": "Content",
                      "text": ": "
                    },
                    {
                      "kind": "Content",
                      "text": "string"
                    },
                    {
                      "kind": "Content",
                      "text": ";"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "path",
                  "propertyTypeTokenRange": {
                    "startIndex": 2,
                    "endIndex": 3
                  }
                }
              ],
              "extendsTokenRanges": []
            },
            {
              "kind": "Variable",
              "canonicalReference": "INVALID_REQUEST_BODY_MESSAGE",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "INVALID_REQUEST_BODY_MESSAGE"
                },
                {
                  "kind": "Content",
                  "text": " = \"The request body is invalid. See error object `details` property for more info.\""
                }
              ],
              "releaseTag": "Public",
              "name": "INVALID_REQUEST_BODY_MESSAGE",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "(RestRouter:interface)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "RestRouter"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RestRouter",
          "members": [
            {
              "kind": "MethodSignature",
              "canonicalReference": "(add:0)",
              "docComment": "/**\n * Add a route to the router\n *\n * @param route - A route entry\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "add"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "add"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "(find:0)",
              "docComment": "/**\n * Find a matching route for the given http request\n *\n * @param request - Http request\n *\n * @returns The resolved route, if not found, `undefined` is returned\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "find"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "find"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "(list:0)",
              "docComment": "/**\n * List all routes\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "list"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "list"
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "(RestServer:class)",
          "docComment": "/**\n * A REST API server for use with Loopback. Add this server to your application by importing the RestComponent.\n *\n * @example\n * ```ts\n * const app = new MyApplication();\n * app.component(RestComponent);\n * ```\n *\n * To add additional instances of RestServer to your application, use the `.server` function:\n * ```ts\n * app.server(RestServer, 'nameOfYourServer');\n * ```\n *\n * By default, one instance of RestServer will be created when the RestComponent is bootstrapped. This instance can be retrieved with `app.getServer(RestServer)`, or by calling `app.get('servers.RestServer')` Note that retrieving other instances of RestServer must be done using the server's name:\n * ```ts\n * const server = await app.getServer('foo')\n * // OR\n * const server = await app.get('servers.foo');\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "RestServer"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "Context"
            },
            {
              "kind": "Content",
              "text": " "
            },
            {
              "kind": "Content",
              "text": "implements "
            },
            {
              "kind": "Reference",
              "text": "Server"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "HttpServerLike"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RestServer",
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "(_applyExpressSettings:instance,0)",
              "docComment": "/**\n * Apply express settings.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "_applyExpressSettings"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "_applyExpressSettings"
            },
            {
              "kind": "Property",
              "canonicalReference": "(_expressApp:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "_expressApp"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "express"
                },
                {
                  "kind": "Content",
                  "text": "."
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_expressApp",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(_handleHttpRequest:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "_handleHttpRequest"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "response"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Response"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 11,
                "endIndex": 13
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "response",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                }
              ],
              "name": "_handleHttpRequest"
            },
            {
              "kind": "Property",
              "canonicalReference": "(_httpHandler:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "_httpHandler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "HttpHandler"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_httpHandler",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(_httpServer:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "_httpServer"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "HttpServer"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_httpServer",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(_onUnhandledError:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "_onUnhandledError"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "req"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "res"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Response"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "err"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Error"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 15,
                "endIndex": 16
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "req",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "res",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                },
                {
                  "parameterName": "err",
                  "parameterTypeTokenRange": {
                    "startIndex": 13,
                    "endIndex": 14
                  }
                }
              ],
              "name": "_onUnhandledError"
            },
            {
              "kind": "Property",
              "canonicalReference": "(_requestHandler:instance)",
              "docComment": "/**\n * Handle incoming HTTP(S) request by invoking the corresponding Controller method via the configured Sequence.\n *\n * @param req - The request.\n *\n * @param res - The response.\n *\n * @example\n * ```ts\n * const app = new Application();\n * app.component(RestComponent);\n * // setup controllers, etc.\n *\n * const restServer = await app.getServer(RestServer);\n * const httpServer = http.createServer(restServer.requestHandler);\n * httpServer.listen(3000);\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "_requestHandler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "HttpRequestListener"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_requestHandler",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(_setupHandlerIfNeeded:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "_setupHandlerIfNeeded"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "_setupHandlerIfNeeded"
            },
            {
              "kind": "Method",
              "canonicalReference": "(_setupOpenApiSpecEndpoints:instance,0)",
              "docComment": "/**\n * Mount /openapi.json, /openapi.yaml for specs and /swagger-ui, /explorer to redirect to externally hosted API explorer\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "_setupOpenApiSpecEndpoints"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "_setupOpenApiSpecEndpoints"
            },
            {
              "kind": "Method",
              "canonicalReference": "(_setupRequestHandlerIfNeeded:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "_setupRequestHandlerIfNeeded"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "_setupRequestHandlerIfNeeded"
            },
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Creates an instance of RestServer.\n *\n * @param app - The application instance (injected via CoreBindings.APPLICATION_INSTANCE).\n *\n * @param config - The configuration options (injected via RestBindings.CONFIG).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "config"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RestServerConfig"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "config",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(api:instance,0)",
              "docComment": "/**\n * Set the OpenAPI specification that defines the REST API schema for this server. All routes, parameter definitions and return types will be defined in this way.\n *\n * Note that this will override any routes defined via decorators at the controller level (this function takes precedent).\n *\n * @param spec - The OpenAPI specification, as an object.\n *\n * @returns Binding for the spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "api"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpec"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "api"
            },
            {
              "kind": "Method",
              "canonicalReference": "(basePath:instance,0)",
              "docComment": "/**\n * Configure the `basePath` for the rest server\n *\n * @param path - Base path\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "basePath"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "path"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "basePath"
            },
            {
              "kind": "Method",
              "canonicalReference": "(bodyParser:instance,0)",
              "docComment": "/**\n * Bind a body parser to the server context\n *\n * @param parserClass - Body parser class\n *\n * @param address - Optional binding address\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "bodyParser"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "bodyParserClass"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "address"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingAddress"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 16,
                "endIndex": 20
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "bodyParserClass",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "address",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 15
                  }
                }
              ],
              "name": "bodyParser"
            },
            {
              "kind": "Property",
              "canonicalReference": "(config:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "config"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RestServerResolvedConfig"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "config",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(controller:instance,0)",
              "docComment": "/**\n * Register a controller class with this server.\n *\n * @param controllerCtor - The controller class (constructor function).\n *\n * @returns The newly created binding, you can use the reference to further modify the binding, e.g. lock the value to prevent further modifications.\n *\n * @example\n * ```ts\n * class MyController {\n * }\n * app.controller(MyController).lock();\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "controller"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "controllerCtor"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ControllerInstance"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "controllerCtor",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 8
                  }
                }
              ],
              "name": "controller"
            },
            {
              "kind": "Method",
              "canonicalReference": "(getApiSpec:instance,0)",
              "docComment": "/**\n * Get the OpenAPI specification describing the REST API provided by this application.\n *\n * This method merges operations (HTTP endpoints) from the following sources: - `app.api(spec)` - `app.controller(MyController)` - `app.route(route)` - `app.route('get', '/greet', operationSpec, MyController, 'greet')`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "getApiSpec"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpec"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "getApiSpec"
            },
            {
              "kind": "Method",
              "canonicalReference": "(handler:instance,0)",
              "docComment": "/**\n * Configure a custom sequence function for handling incoming requests.\n *\n * @param handlerFn - The handler to invoke for each incoming request.\n *\n * @example\n * ```ts\n * app.handler(({request, response}, sequence) => {\n *   sequence.send(response, 'hello world');\n * });\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "handler"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "handlerFn"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "SequenceFunction"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "handlerFn",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "handler"
            },
            {
              "kind": "Property",
              "canonicalReference": "(httpHandler:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly "
                },
                {
                  "kind": "Reference",
                  "text": "httpHandler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "HttpHandler"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "httpHandler",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(listening:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "listening"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "listening",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(mountExpressRouter:instance,0)",
              "docComment": "/**\n * Mount an Express router to expose additional REST endpoints handled via legacy Express-based stack.\n *\n * @param basePath - Path where to mount the router at, e.g. `/` or `/api`.\n *\n * @param router - The Express router to handle the requests.\n *\n * @param spec - A partial OpenAPI spec describing endpoints provided by the router. LoopBack will prepend `basePath` to all endpoints automatically. This argument is optional. You can leave it out if you don't want to document the routes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "mountExpressRouter"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "basePath"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "router"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressRequestHandler"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RouterSpec"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 14,
                "endIndex": 15
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "basePath",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "router",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 12,
                    "endIndex": 13
                  }
                }
              ],
              "name": "mountExpressRouter"
            },
            {
              "kind": "Method",
              "canonicalReference": "(redirect:instance,0)",
              "docComment": "/**\n * Register a route redirecting callers to a different URL.\n *\n * @param fromPath - URL path of the redirect endpoint\n *\n * @param toPathOrUrl - Location (URL path or full URL) where to redirect to. If your server is configured with a custom `basePath`, then the base path is prepended to the target location.\n *\n * @param statusCode - HTTP status code to respond with, defaults to 303 (See Other).\n *\n * @example\n * ```ts\n * server.redirect('/explorer', '/explorer/');\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "redirect"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "fromPath"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "toPathOrUrl"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "statusCode"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 14,
                "endIndex": 15
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "fromPath",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "toPathOrUrl",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "statusCode",
                  "parameterTypeTokenRange": {
                    "startIndex": 12,
                    "endIndex": 13
                  }
                }
              ],
              "name": "redirect"
            },
            {
              "kind": "Property",
              "canonicalReference": "(requestHandler:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "requestHandler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "HttpRequestListener"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "requestHandler",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(rootUrl:instance)",
              "docComment": "/**\n * The root url for the server without the basePath. For example, the value will be 'http://localhost:3000' regardless of the `basePath`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "rootUrl"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "rootUrl",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(route:instance,1)",
              "docComment": "/**\n * Register a new Controller-based route.\n *\n * @param verb - HTTP verb of the endpoint\n *\n * @param path - URL path of the endpoint\n *\n * @param spec - The OpenAPI spec describing the endpoint (operation)\n *\n * @param controllerCtor - Controller constructor\n *\n * @param controllerFactory - A factory function to create controller instance\n *\n * @param methodName - The name of the controller method\n *\n * @example\n * ```ts\n * class MyController {\n *   greet(name: string) {\n *     return `hello ${name}`;\n *   }\n * }\n * app.route('get', '/greet', operationSpec, MyController, 'greet');\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "I"
                },
                {
                  "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": "controllerCtor"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "I"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "controllerFactory"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerFactory"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "I"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "methodName"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 34,
                "endIndex": 35
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 7
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 10,
                    "endIndex": 11
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 14,
                    "endIndex": 15
                  }
                },
                {
                  "parameterName": "controllerCtor",
                  "parameterTypeTokenRange": {
                    "startIndex": 18,
                    "endIndex": 22
                  }
                },
                {
                  "parameterName": "controllerFactory",
                  "parameterTypeTokenRange": {
                    "startIndex": 25,
                    "endIndex": 29
                  }
                },
                {
                  "parameterName": "methodName",
                  "parameterTypeTokenRange": {
                    "startIndex": 32,
                    "endIndex": 33
                  }
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "I",
                  "constraintTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "(route:instance,2)",
              "docComment": "/**\n * Register a new route invoking a handler function.\n *\n * @param verb - HTTP verb of the endpoint\n *\n * @param path - URL path of the endpoint\n *\n * @param spec - The OpenAPI spec describing the endpoint (operation)\n *\n * @param handler - The function to invoke with the request parameters described in the spec.\n *\n * @example\n * ```ts\n * function greet(name: string) {\n *  return `hello ${name}`;\n * }\n * app.route('get', '/', operationSpec, greet);\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "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": "handler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Function"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 18,
                "endIndex": 19
              },
              "releaseTag": "Public",
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 12,
                    "endIndex": 13
                  }
                },
                {
                  "parameterName": "handler",
                  "parameterTypeTokenRange": {
                    "startIndex": 16,
                    "endIndex": 17
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "(route:instance,3)",
              "docComment": "/**\n * Register a new generic route.\n *\n * @param route - The route to add.\n *\n * @example\n * ```ts\n * function greet(name: string) {\n *  return `hello ${name}`;\n * }\n * const route = new Route('get', '/', operationSpec, greet);\n * app.route(route);\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 3,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "(sequence:instance,0)",
              "docComment": "/**\n * Configure a custom sequence class for handling incoming requests.\n *\n * @param value - The sequence to invoke for each incoming request.\n *\n * @example\n * ```ts\n * class MySequence implements SequenceHandler {\n *   constructor(\n *     @inject('send) public send: Send)) {\n *   }\n *\n *   public async handle({response}: RequestContext) {\n *     send(response, 'hello world');\n *   }\n * }\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "sequence"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "value"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "SequenceHandler"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 8
                  }
                }
              ],
              "name": "sequence"
            },
            {
              "kind": "Method",
              "canonicalReference": "(start:instance,0)",
              "docComment": "/**\n * Start this REST API's HTTP/HTTPS server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "start"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "start"
            },
            {
              "kind": "Method",
              "canonicalReference": "(static:instance,0)",
              "docComment": "/**\n * Mount static assets to the REST server. See https://expressjs.com/en/4x/api.html#express.static\n *\n * @param path - The path(s) to serve the asset. See examples at https://expressjs.com/en/4x/api.html#path-examples\n *\n * @param rootDir - The root directory from which to serve static assets\n *\n * @param options - Options for serve-static\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "static"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "path"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "PathParams"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "rootDir"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "options"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ServeStaticOptions"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 14,
                "endIndex": 15
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "rootDir",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 12,
                    "endIndex": 13
                  }
                }
              ],
              "name": "static"
            },
            {
              "kind": "Method",
              "canonicalReference": "(stop:instance,0)",
              "docComment": "/**\n * Stop this REST API's HTTP/HTTPS server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "stop"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "stop"
            },
            {
              "kind": "Property",
              "canonicalReference": "(url:instance)",
              "docComment": "/**\n * The base url for the server, including the basePath if set. For example, the value will be 'http://localhost:3000/api' if `basePath` is set to '/api'.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "url"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "url",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "implementsTokenRanges": [
            {
              "startIndex": 6,
              "endIndex": 7
            },
            {
              "startIndex": 8,
              "endIndex": 10
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "(RestServerResolvedOptions:interface)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "RestServerResolvedOptions"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RestServerResolvedOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "apiExplorer",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "apiExplorer"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ApiExplorerOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "apiExplorer",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "basePath",
              "docComment": "/**\n * Base path for API/static routes\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": "cors",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "cors"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "cors"
                },
                {
                  "kind": "Content",
                  "text": "."
                },
                {
                  "kind": "Reference",
                  "text": "CorsOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "cors",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 5
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "expressSettings",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "expressSettings"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "{\n        ["
                },
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": string]: any;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "expressSettings",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 5
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "openApiSpec",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "openApiSpec"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpecOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "openApiSpec",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "port",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "port"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "port",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "requestBodyParser",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "requestBodyParser"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "requestBodyParser",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "router",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "router"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RestRouterOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "router",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "sequence",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "sequence"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "SequenceHandler"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "sequence",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "(Route:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "Route"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "BaseRoute"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "Route",
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "(_handler:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly "
                },
                {
                  "kind": "Reference",
                  "text": "_handler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Function"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_handler",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `Route` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "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": "_handler"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Function"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                },
                {
                  "parameterName": "_handler",
                  "parameterTypeTokenRange": {
                    "startIndex": 15,
                    "endIndex": 16
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(describe:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "describe"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "describe"
            },
            {
              "kind": "Method",
              "canonicalReference": "(invokeHandler:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "invokeHandler"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "requestContext"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "args"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationRetval"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 14
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "args",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                }
              ],
              "name": "invokeHandler"
            },
            {
              "kind": "Property",
              "canonicalReference": "(spec:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "spec",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(updateBindings:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "updateBindings"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "requestContext"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "updateBindings"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "(RouteEntry:interface)",
          "docComment": "/**\n * An entry in the routing table\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "RouteEntry"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RouteEntry",
          "members": [
            {
              "kind": "MethodSignature",
              "canonicalReference": "(describe:0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "describe"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "describe"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "(invokeHandler:0)",
              "docComment": "/**\n * A handler to invoke the resolved controller method\n *\n * @param  - requestContext\n *\n * @param  - args\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "invokeHandler"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "requestContext"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "args"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationRetval"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 14
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "args",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                }
              ],
              "name": "invokeHandler"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "(updateBindings:0)",
              "docComment": "/**\n * Update bindings for the request context\n *\n * @param  - requestContext\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "updateBindings"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "requestContext"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "updateBindings"
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "path",
              "docComment": "/**\n * http path\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "path"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "path",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "spec",
              "docComment": "/**\n * OpenAPI operation spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "spec",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "verb",
              "docComment": "/**\n * http verb\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "verb"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "verb",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "(RoutingTable:class)",
          "docComment": "/**\n * Routing table\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "RoutingTable"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RoutingTable",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `RoutingTable` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "_router"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RestRouter"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "_externalRoutes"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ExternalExpressRoutes"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "_router",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "_externalRoutes",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 9
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(describeApiPaths:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "describeApiPaths"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "PathObject"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "describeApiPaths"
            },
            {
              "kind": "Method",
              "canonicalReference": "(find:instance,0)",
              "docComment": "/**\n * Map a request to a route\n *\n * @param  - request\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "find"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "find"
            },
            {
              "kind": "Method",
              "canonicalReference": "(joinPath:static,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static "
                },
                {
                  "kind": "Reference",
                  "text": "joinPath"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "basePath"
                },
                {
                  "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": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 11,
                "endIndex": 12
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "basePath",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                }
              ],
              "name": "joinPath"
            },
            {
              "kind": "Method",
              "canonicalReference": "(registerController:instance,0)",
              "docComment": "/**\n * Register a controller as the route\n *\n * @param  - spec\n *\n * @param  - controllerCtor\n *\n * @param  - controllerFactory\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "registerController"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">("
                },
                {
                  "kind": "Reference",
                  "text": "spec"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerSpec"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "controllerCtor"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "controllerFactory"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerFactory"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 22,
                "endIndex": 23
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 7
                  }
                },
                {
                  "parameterName": "controllerCtor",
                  "parameterTypeTokenRange": {
                    "startIndex": 10,
                    "endIndex": 14
                  }
                },
                {
                  "parameterName": "controllerFactory",
                  "parameterTypeTokenRange": {
                    "startIndex": 17,
                    "endIndex": 21
                  }
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "name": "registerController"
            },
            {
              "kind": "Method",
              "canonicalReference": "(registerRoute:instance,0)",
              "docComment": "/**\n * Register a route\n *\n * @param route - A route entry\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "registerRoute"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "registerRoute"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "(sanitizeJsonParse:0)",
          "docComment": "/**\n * Factory to create a reviver function for `JSON.parse` to sanitize keys\n *\n * @param reviver - Reviver function\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "sanitizeJsonParse"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "reviver"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "key"
            },
            {
              "kind": "Content",
              "text": ": any, "
            },
            {
              "kind": "Reference",
              "text": "value"
            },
            {
              "kind": "Content",
              "text": ": any) => any"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "key"
            },
            {
              "kind": "Content",
              "text": ": string, "
            },
            {
              "kind": "Reference",
              "text": "value"
            },
            {
              "kind": "Content",
              "text": ": any) => any"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 16
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "reviver",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 10
              }
            }
          ],
          "name": "sanitizeJsonParse"
        },
        {
          "kind": "Class",
          "canonicalReference": "(SendProvider:class)",
          "docComment": "/**\n * Provides the function that populates the response object with the results of the operation.\n *\n * @returns The handler function that will populate the response with operation results.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "SendProvider"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Provider"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "BoundValue"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "SendProvider",
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "(value:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "value"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Content",
                  "text": "typeof "
                },
                {
                  "kind": "Reference",
                  "text": "writeResultToResponse"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 7
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "(SequenceHandler:interface)",
          "docComment": "/**\n * A sequence handler is a class implementing sequence of actions required to handle an incoming request.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "SequenceHandler"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "SequenceHandler",
          "members": [
            {
              "kind": "MethodSignature",
              "canonicalReference": "(handle:0)",
              "docComment": "/**\n * Handle the request by running the configured sequence of actions.\n *\n * @param context - The request context: HTTP request and response objects, per-request IoC container and more.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "handle"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "context"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RequestContext"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "handle"
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "(StreamBodyParser:class)",
          "docComment": "/**\n * A special body parser to retain request stream as is. It will be used by explicitly setting `x-parser` to `'stream'` in the request body spec.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "StreamBodyParser"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "BodyParser"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "StreamBodyParser",
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "(name:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "symbol"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(parse:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "parse"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "parse"
            },
            {
              "kind": "Method",
              "canonicalReference": "(supports:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "supports"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "mediaType"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "mediaType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "supports"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(TextBodyParser:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "TextBodyParser"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "BodyParser"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "TextBodyParser",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `TextBodyParser` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "options"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(name:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "symbol"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(parse:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "parse"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "parse"
            },
            {
              "kind": "Method",
              "canonicalReference": "(supports:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "supports"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "mediaType"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "mediaType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "supports"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Function",
          "canonicalReference": "(toExpressPath:0)",
          "docComment": "/**\n * Convert an OpenAPI path to Express (path-to-regexp) style\n *\n * @param path - OpenAPI path with optional variables as `{var}`\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "toExpressPath"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "path"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 7,
            "endIndex": 8
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            }
          ],
          "name": "toExpressPath"
        },
        {
          "kind": "Class",
          "canonicalReference": "(Trie:class)",
          "docComment": "/**\n * An implementation of trie for routes. The key hierarchy is built with parts of the route path delimited by `/`\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "Trie"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "Trie",
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "(create:instance,0)",
              "docComment": "/**\n * Create a node for a given path template\n *\n * @param pathTemplate - The path template,\n *\n * @param value - Value of the route\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "create"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "routeTemplate"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "value"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Node"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 14
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "routeTemplate",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                }
              ],
              "name": "create"
            },
            {
              "kind": "Method",
              "canonicalReference": "(list:instance,0)",
              "docComment": "/**\n * List all nodes with value of the trie\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "list"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "NodeWithValue"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "list"
            },
            {
              "kind": "Method",
              "canonicalReference": "(match:instance,0)",
              "docComment": "/**\n * Match a route path against the trie\n *\n * @param path - The route path, such as `/customers/c01`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "match"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "path"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedNode"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": "> & {\n        "
                },
                {
                  "kind": "Reference",
                  "text": "node"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "NodeWithValue"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">;\n    }) | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 17
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "match"
            },
            {
              "kind": "Property",
              "canonicalReference": "(root:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "root"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Node"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "root",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "(TrieRouter:class)",
          "docComment": "/**\n * Router implementation based on trie\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "TrieRouter"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "BaseRouter"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "TrieRouter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `TrieRouter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "options"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RestRouterOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(addRouteWithPathVars:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "addRouteWithPathVars"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "route"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "addRouteWithPathVars"
            },
            {
              "kind": "Method",
              "canonicalReference": "(findRouteWithPathVars:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "findRouteWithPathVars"
                },
                {
                  "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": "Content",
                  "text": "import(\"./route-entry\")."
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 11,
                "endIndex": 14
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                }
              ],
              "name": "findRouteWithPathVars"
            },
            {
              "kind": "Method",
              "canonicalReference": "(listRoutesWithPathVars:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected "
                },
                {
                  "kind": "Reference",
                  "text": "listRoutesWithPathVars"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "listRoutesWithPathVars"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "(UrlEncodedBodyParser:class)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "UrlEncodedBodyParser"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "BodyParser"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "UrlEncodedBodyParser",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `UrlEncodedBodyParser` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "options"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(name:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "name"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "symbol"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(parse:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "parse"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "request"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Request"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "parse"
            },
            {
              "kind": "Method",
              "canonicalReference": "(supports:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "supports"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "mediaType"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "mediaType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                }
              ],
              "name": "supports"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Function",
          "canonicalReference": "(validateApiPath:0)",
          "docComment": "/**\n * Validate the path to be compatible with OpenAPI path template. No parameter modifier, custom pattern, or unnamed parameter is allowed.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "validateApiPath"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "path"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 7,
            "endIndex": 8
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            }
          ],
          "name": "validateApiPath"
        },
        {
          "kind": "Function",
          "canonicalReference": "(validateRequestBody:0)",
          "docComment": "/**\n * Check whether the request body is valid according to the provided OpenAPI schema. The JSON schema is generated from the OpenAPI schema which is typically defined by `@requestBody()`. The validation leverages AJV schema validator.\n *\n * @param body - The request body parsed from an HTTP request.\n *\n * @param requestBodySpec - The OpenAPI requestBody specification defined in `@requestBody()`.\n *\n * @param globalSchemas - The referenced schemas generated from `OpenAPISpec.components.schemas`.\n *\n * @param options - Request body validation options for AJV\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "validateRequestBody"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "body"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "RequestBody"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "requestBodySpec"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "RequestBodyObject"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "globalSchemas"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "SchemasObject"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "options"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "RequestBodyValidationOptions"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 19,
            "endIndex": 20
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "body",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "requestBodySpec",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            },
            {
              "parameterName": "globalSchemas",
              "parameterTypeTokenRange": {
                "startIndex": 13,
                "endIndex": 14
              }
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 17,
                "endIndex": 18
              }
            }
          ],
          "name": "validateRequestBody"
        },
        {
          "kind": "Function",
          "canonicalReference": "(writeResultToResponse:0)",
          "docComment": "/**\n * Writes the result from Application controller method into the HTTP response\n *\n * @param response - HTTP Response\n *\n * @param result - Result from the API to write into HTTP Response\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "writeResultToResponse"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "response"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Response"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "result"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "OperationRetval"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 12
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "response",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "result",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            }
          ],
          "name": "writeResultToResponse"
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "BindElement",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "BindElement"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "key"
            },
            {
              "kind": "Content",
              "text": ": string) => "
            },
            {
              "kind": "Reference",
              "text": "Binding"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "BindElement",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 7
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "BodyParserFunction",
          "docComment": "/**\n * Plain function for body parsing\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "BodyParserFunction"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "request"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Request"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "Promise"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "RequestBody"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "BodyParserFunction",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 12
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "ControllerClass",
          "docComment": "/**\n * Controller class\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "ControllerClass"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "ControllerInstance"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Reference",
              "text": "Constructor"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ControllerClass",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 7,
            "endIndex": 11
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "ControllerFactory",
          "docComment": "/**\n * A factory function to create controller instances synchronously or asynchronously\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "ControllerFactory"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "ControllerInstance"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "ctx"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Context"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "ValueOrPromise"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ControllerFactory",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 7,
            "endIndex": 16
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "ControllerInstance",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "ControllerInstance"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "{\n    ["
            },
            {
              "kind": "Reference",
              "text": "name"
            },
            {
              "kind": "Content",
              "text": ": string]: any;\n} & object"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ControllerInstance",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "ERR_NO_MULTI_SERVER",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Reference",
              "text": "ERR_NO_MULTI_SERVER"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            }
          ],
          "releaseTag": "Public",
          "name": "ERR_NO_MULTI_SERVER",
          "variableTypeTokenRange": {
            "startIndex": 2,
            "endIndex": 3
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "ExpressRequestHandler",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "ExpressRequestHandler"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Reference",
              "text": "express"
            },
            {
              "kind": "Content",
              "text": "."
            },
            {
              "kind": "Reference",
              "text": "RequestHandler"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ExpressRequestHandler",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "FindRoute",
          "docComment": "/**\n * Find a route matching the incoming request. Throw an error when no route was found.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "FindRoute"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "request"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Request"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "ResolvedRoute"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "FindRoute",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 9
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "GetFromContext",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "GetFromContext"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "key"
            },
            {
              "kind": "Content",
              "text": ": string) => "
            },
            {
              "kind": "Reference",
              "text": "Promise"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "BoundValue"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "GetFromContext",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 10
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "HttpRequestListener",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "HttpRequestListener"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "req"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "IncomingMessage"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "res"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "ServerResponse"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "HttpRequestListener",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 12
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "InvokeMethod",
          "docComment": "/**\n * Invokes a method defined in the Application Controller\n *\n * @param controller - Name of end-user's application controller class which defines the methods.\n *\n * @param method - Method name in application controller class\n *\n * @param args - Operation arguments for the method\n *\n * @returns OperationRetval Result from method invocation\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "InvokeMethod"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "route"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "RouteEntry"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "args"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "OperationArgs"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "Promise"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "OperationRetval"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "InvokeMethod",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 16
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "LogError",
          "docComment": "/**\n * Log information about a failed request.\n *\n * @param err - The error reported by request handling code.\n *\n * @param statusCode - Status code of the HTTP response\n *\n * @param request - The request that failed.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "LogError"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "err"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Error"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "statusCode"
            },
            {
              "kind": "Content",
              "text": ": number, "
            },
            {
              "kind": "Reference",
              "text": "request"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Request"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "LogError",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 14
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "NodeWithValue",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "NodeWithValue"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Reference",
              "text": "Node"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "> & {\n    "
            },
            {
              "kind": "Reference",
              "text": "value"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "NodeWithValue",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 5,
            "endIndex": 13
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "OperationArgs",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "OperationArgs"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "any[]"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "OperationArgs",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "OperationRetval",
          "docComment": "/**\n * Return value of a controller method (a function implementing an operation). This is a type alias for \"any\", used to distinguish operation results from other \"any\" typed values.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "OperationRetval"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "any"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "OperationRetval",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "ParseParams",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "ParseParams"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "request"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Request"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "route"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "ResolvedRoute"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "Promise"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "OperationArgs"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ParseParams",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 16
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "PathParameterValues",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "PathParameterValues"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "{\n    ["
            },
            {
              "kind": "Reference",
              "text": "key"
            },
            {
              "kind": "Content",
              "text": ": string]: any;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "PathParameterValues",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "Reject",
          "docComment": "/**\n * Reject the request with an error.\n *\n * @param handlerContext - The context object holding HTTP request, response and other data needed to handle an incoming HTTP request.\n *\n * @param err - The error.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "Reject"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "handlerContext"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "HandlerContext"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "err"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Error"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "Reject",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 12
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "REQUEST_BODY_PARSER_TAG",
          "docComment": "/**\n * Binding tag for request body parser extensions\n */\n",
          "excerptTokens": [
            {
              "kind": "Reference",
              "text": "REQUEST_BODY_PARSER_TAG"
            },
            {
              "kind": "Content",
              "text": " = \"rest.requestBodyParser\""
            }
          ],
          "releaseTag": "Public",
          "name": "REQUEST_BODY_PARSER_TAG",
          "variableTypeTokenRange": {
            "startIndex": 0,
            "endIndex": 0
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "RequestBody",
          "docComment": "/**\n * Request body with metadata\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "RequestBody"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "{\n    "
            },
            {
              "kind": "Reference",
              "text": "value"
            },
            {
              "kind": "Content",
              "text": ": any | undefined;\n    "
            },
            {
              "kind": "Reference",
              "text": "coercionRequired"
            },
            {
              "kind": "Content",
              "text": "?: boolean;\n    "
            },
            {
              "kind": "Reference",
              "text": "mediaType"
            },
            {
              "kind": "Content",
              "text": "?: string;\n    "
            },
            {
              "kind": "Reference",
              "text": "schema"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "SchemaObject"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "ReferenceObject"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RequestBody",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 16
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "RestComponentConfig",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "RestComponentConfig"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Reference",
              "text": "RestServerConfig"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RestComponentConfig",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "RestRouterOptions",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "RestRouterOptions"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "{\n    "
            },
            {
              "kind": "Reference",
              "text": "strict"
            },
            {
              "kind": "Content",
              "text": "?: boolean;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RestRouterOptions",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "RestServerConfig",
          "docComment": "/**\n * Valid configuration for the RestServer constructor.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "RestServerConfig"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Reference",
              "text": "RestServerOptions"
            },
            {
              "kind": "Content",
              "text": " & "
            },
            {
              "kind": "Reference",
              "text": "HttpServerOptions"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RestServerConfig",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "RestServerOptions",
          "docComment": "/**\n * RestServer options\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "RestServerOptions"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Reference",
              "text": "Partial"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "RestServerResolvedOptions"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RestServerOptions",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 7
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "RestServerResolvedConfig",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "RestServerResolvedConfig"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Reference",
              "text": "RestServerResolvedOptions"
            },
            {
              "kind": "Content",
              "text": " & "
            },
            {
              "kind": "Reference",
              "text": "HttpServerOptions"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RestServerResolvedConfig",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "RouterSpec",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "RouterSpec"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Reference",
              "text": "Pick"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "OpenApiSpec"
            },
            {
              "kind": "Content",
              "text": ", 'paths' | 'components' | 'tags'>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RouterSpec",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 7
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "SchemaValidatorCache",
          "docComment": "/**\n * Cache for AJV schema validators\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "SchemaValidatorCache"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Reference",
              "text": "WeakMap"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "SchemaObject"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "ReferenceObject"
            },
            {
              "kind": "Content",
              "text": ", // First keyed by schema object\n"
            },
            {
              "kind": "Reference",
              "text": "Map"
            },
            {
              "kind": "Content",
              "text": "<string, "
            },
            {
              "kind": "Reference",
              "text": "ajv"
            },
            {
              "kind": "Content",
              "text": "."
            },
            {
              "kind": "Reference",
              "text": "ValidateFunction"
            },
            {
              "kind": "Content",
              "text": ">>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "SchemaValidatorCache",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 15
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "Send",
          "docComment": "/**\n * Send the operation response back to the client.\n *\n * @param response - The response the response to send to.\n *\n * @param result - The operation result to send.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "Send"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "response"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Response"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "result"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "OperationRetval"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "Send",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 12
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "SequenceActions",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Reference",
              "text": "SequenceActions"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "typeof "
            },
            {
              "kind": "Reference",
              "text": "RestBindings"
            },
            {
              "kind": "Content",
              "text": "."
            },
            {
              "kind": "Reference",
              "text": "SequenceActions"
            }
          ],
          "releaseTag": "Public",
          "name": "SequenceActions",
          "variableTypeTokenRange": {
            "startIndex": 2,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "SequenceFunction",
          "docComment": "/**\n * A sequence function is a function implementing a custom sequence of actions to handle an incoming request.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "SequenceFunction"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "context"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "RequestContext"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "sequence"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "DefaultSequence"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "Promise"
            },
            {
              "kind": "Content",
              "text": "<void> | void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "SequenceFunction",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 14
          }
        }
      ]
    }
  ]
}
