{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.7.10",
    "schemaVersion": 1003,
    "oldestForwardsCompatibleVersion": 1001
  },
  "kind": "Package",
  "canonicalReference": "@loopback/rest!",
  "docComment": "",
  "name": "@loopback/rest",
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@loopback/rest!",
      "name": "",
      "members": [
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!AjvErrorOptions:type",
          "docComment": "/**\n * Options for AJV errors\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type AjvErrorOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    keepErrors?: boolean;\n    singleError?: boolean;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "AjvErrorOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!ApiExplorerOptions:interface",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ApiExplorerOptions "
            }
          ],
          "releaseTag": "Public",
          "name": "ApiExplorerOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!ApiExplorerOptions#disabled:member",
              "docComment": "/**\n * Set this flag to disable the built-in redirect to externally hosted API Explorer UI.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "disabled?: "
                },
                {
                  "kind": "Content",
                  "text": "true"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "disabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!ApiExplorerOptions#httpUrl:member",
              "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": "Content",
                  "text": "httpUrl?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "httpUrl",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!ApiExplorerOptions#url:member",
              "docComment": "/**\n * URL for the hosted API explorer UI default to https://loopback.io/api-explorer\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "url?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "url",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!assignRouterSpec:function(1)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function assignRouterSpec(target: "
            },
            {
              "kind": "Reference",
              "text": "RouterSpec",
              "canonicalReference": "@loopback/rest!RouterSpec:type"
            },
            {
              "kind": "Content",
              "text": ", additions: "
            },
            {
              "kind": "Reference",
              "text": "RouterSpec",
              "canonicalReference": "@loopback/rest!RouterSpec:type"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "target",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "additions",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "assignRouterSpec"
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!BaseRoute:class",
          "docComment": "/**\n * Base implementation of RouteEntry\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare abstract class BaseRoute implements "
            },
            {
              "kind": "Reference",
              "text": "RouteEntry",
              "canonicalReference": "@loopback/rest!RouteEntry:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "BaseRoute",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!BaseRoute:constructor(1)",
              "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(verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!BaseRoute#describe:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "describe(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "describe"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!BaseRoute#invokeHandler:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "abstract invokeHandler(requestContext: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ", args: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs",
                  "canonicalReference": "@loopback/rest!OperationArgs:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationRetval",
                  "canonicalReference": "@loopback/rest!OperationRetval:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "args",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "invokeHandler"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!BaseRoute#path:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "path",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!BaseRoute#spec:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "spec",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!BaseRoute#toString:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "toString"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!BaseRoute#updateBindings:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "abstract updateBindings(requestContext: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "updateBindings"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!BaseRoute#verb:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "verb",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!BindElement:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type BindElement = "
            },
            {
              "kind": "Content",
              "text": "(key: string) => "
            },
            {
              "kind": "Reference",
              "text": "Binding",
              "canonicalReference": "@loopback/context!Binding:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "BindElement",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!BindElementProvider:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class BindElementProvider implements "
            },
            {
              "kind": "Reference",
              "text": "Provider",
              "canonicalReference": "@loopback/context!Provider:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "BindElement",
              "canonicalReference": "@loopback/rest!BindElement:type"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "BindElementProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!BindElementProvider:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `BindElementProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(context: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!BindElementProvider#action:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "action(key: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "key",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "action"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!BindElementProvider#context:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected context: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "context",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!BindElementProvider#value:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value(): "
                },
                {
                  "kind": "Reference",
                  "text": "BindElement",
                  "canonicalReference": "@loopback/rest!BindElement:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!BodyParser:interface",
          "docComment": "/**\n * Interface to be implemented by body parser extensions\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BodyParser "
            }
          ],
          "releaseTag": "Public",
          "name": "BodyParser",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!BodyParser#name:member",
              "docComment": "/**\n * Name of the parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name: "
                },
                {
                  "kind": "Content",
                  "text": "string | symbol"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/rest!BodyParser#parse:member(1)",
              "docComment": "/**\n * Parse the request body\n *\n * @param request - http request\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "parse(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody",
                  "canonicalReference": "@loopback/rest!RequestBody:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "parse"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/rest!BodyParser#supports:member(1)",
              "docComment": "/**\n * Indicate if the given media type is supported\n *\n * @param mediaType - Media type\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "supports(mediaType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "mediaType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "supports"
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!BodyParserFunction:type",
          "docComment": "/**\n * Plain function for body parsing\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type BodyParserFunction = "
            },
            {
              "kind": "Content",
              "text": "(request: "
            },
            {
              "kind": "Reference",
              "text": "Request",
              "canonicalReference": "@types/express!~e.Request:interface"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "RequestBody",
              "canonicalReference": "@loopback/rest!RequestBody:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "BodyParserFunction",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 8
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!compareRoute:function(1)",
          "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 compareRoute(route1: "
            },
            {
              "kind": "Reference",
              "text": "Pick",
              "canonicalReference": "!Pick:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "RouteEntry",
              "canonicalReference": "@loopback/rest!RouteEntry:interface"
            },
            {
              "kind": "Content",
              "text": ", 'verb' | 'path'>"
            },
            {
              "kind": "Content",
              "text": ", route2: "
            },
            {
              "kind": "Reference",
              "text": "Pick",
              "canonicalReference": "!Pick:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "RouteEntry",
              "canonicalReference": "@loopback/rest!RouteEntry:interface"
            },
            {
              "kind": "Content",
              "text": ", 'verb' | 'path'>"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "number"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 12
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "route1",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "parameterName": "route2",
              "parameterTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 10
              }
            }
          ],
          "name": "compareRoute"
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!ControllerClass:type",
          "docComment": "/**\n * Controller class\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type ControllerClass<T extends "
            },
            {
              "kind": "Reference",
              "text": "ControllerInstance",
              "canonicalReference": "@loopback/rest!ControllerInstance:type"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Reference",
              "text": "Constructor",
              "canonicalReference": "@loopback/context!Constructor:type"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ControllerClass",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!ControllerFactory:type",
          "docComment": "/**\n * A factory function to create controller instances synchronously or asynchronously\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type ControllerFactory<T extends "
            },
            {
              "kind": "Reference",
              "text": "ControllerInstance",
              "canonicalReference": "@loopback/rest!ControllerInstance:type"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Content",
              "text": "(ctx: "
            },
            {
              "kind": "Reference",
              "text": "Context",
              "canonicalReference": "@loopback/context!Context:class"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "ValueOrPromise",
              "canonicalReference": "@loopback/context!ValueOrPromise:type"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ControllerFactory",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 8
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!ControllerInstance:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type ControllerInstance = "
            },
            {
              "kind": "Content",
              "text": "{\n    [name: string]: any;\n} & object"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ControllerInstance",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!ControllerRoute:class",
          "docComment": "/**\n * A route backed by a controller\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class ControllerRoute<T> extends "
            },
            {
              "kind": "Reference",
              "text": "BaseRoute",
              "canonicalReference": "@loopback/rest!BaseRoute:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "ControllerRoute",
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!ControllerRoute#_controllerCtor:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly _controllerCtor: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass",
                  "canonicalReference": "@loopback/rest!ControllerClass:type"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_controllerCtor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!ControllerRoute#_controllerFactory:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly _controllerFactory: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerFactory",
                  "canonicalReference": "@loopback/rest!ControllerFactory:type"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_controllerFactory",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!ControllerRoute#_controllerName:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly _controllerName: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_controllerName",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!ControllerRoute#_methodName:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly _methodName: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_methodName",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!ControllerRoute:constructor(1)",
              "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(verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ", controllerCtor: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass",
                  "canonicalReference": "@loopback/rest!ControllerClass:type"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": ", controllerFactory?: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerFactory",
                  "canonicalReference": "@loopback/rest!ControllerFactory:type"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": ", methodName?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "controllerCtor",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "controllerFactory",
                  "parameterTypeTokenRange": {
                    "startIndex": 10,
                    "endIndex": 12
                  }
                },
                {
                  "parameterName": "methodName",
                  "parameterTypeTokenRange": {
                    "startIndex": 13,
                    "endIndex": 14
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!ControllerRoute#describe:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "describe(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "describe"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!ControllerRoute#invokeHandler:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "invokeHandler(requestContext: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ", args: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs",
                  "canonicalReference": "@loopback/rest!OperationArgs:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationRetval",
                  "canonicalReference": "@loopback/rest!OperationRetval:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "args",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "invokeHandler"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!ControllerRoute#updateBindings:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "updateBindings(requestContext: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "updateBindings"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!createBodyParserBinding:function(1)",
          "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 createBodyParserBinding(parserClass: "
            },
            {
              "kind": "Reference",
              "text": "Constructor",
              "canonicalReference": "@loopback/context!Constructor:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "BodyParser",
              "canonicalReference": "@loopback/rest!BodyParser:interface"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ", key?: "
            },
            {
              "kind": "Reference",
              "text": "BindingAddress",
              "canonicalReference": "@loopback/context!BindingAddress:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "BodyParser",
              "canonicalReference": "@loopback/rest!BodyParser:interface"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Binding",
              "canonicalReference": "@loopback/context!Binding:class"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "BodyParser",
              "canonicalReference": "@loopback/rest!BodyParser:interface"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 15
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "parserClass",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "parameterName": "key",
              "parameterTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 10
              }
            }
          ],
          "name": "createBodyParserBinding"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!createControllerFactoryForBinding:function(1)",
          "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 createControllerFactoryForBinding<T>(key: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ControllerFactory",
              "canonicalReference": "@loopback/rest!ControllerFactory:type"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "key",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "createControllerFactoryForBinding"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!createControllerFactoryForClass:function(1)",
          "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 createControllerFactoryForClass<T>(controllerCtor: "
            },
            {
              "kind": "Reference",
              "text": "ControllerClass",
              "canonicalReference": "@loopback/rest!ControllerClass:type"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ControllerFactory",
              "canonicalReference": "@loopback/rest!ControllerFactory:type"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 4,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "controllerCtor",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "createControllerFactoryForClass"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!createControllerFactoryForInstance:function(1)",
          "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 createControllerFactoryForInstance<T>(controllerInst: "
            },
            {
              "kind": "Content",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ControllerFactory",
              "canonicalReference": "@loopback/rest!ControllerFactory:type"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "controllerInst",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "createControllerFactoryForInstance"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!createResolvedRoute:function(1)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function createResolvedRoute(route: "
            },
            {
              "kind": "Reference",
              "text": "RouteEntry",
              "canonicalReference": "@loopback/rest!RouteEntry:interface"
            },
            {
              "kind": "Content",
              "text": ", pathParams: "
            },
            {
              "kind": "Reference",
              "text": "PathParameterValues",
              "canonicalReference": "@loopback/rest!PathParameterValues:type"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ResolvedRoute",
              "canonicalReference": "@loopback/rest!ResolvedRoute:interface"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "route",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "pathParams",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "createResolvedRoute"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!createRoutesForController:function(1)",
          "docComment": "/**\n * Create routes for a controller with the given spec\n *\n * @param spec - Controller spec\n *\n * @param controllerCtor - Controller class\n *\n * @param controllerFactory - Controller factory\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function createRoutesForController<T>(spec: "
            },
            {
              "kind": "Reference",
              "text": "ControllerSpec",
              "canonicalReference": "@loopback/openapi-v3!ControllerSpec:interface"
            },
            {
              "kind": "Content",
              "text": ", controllerCtor: "
            },
            {
              "kind": "Reference",
              "text": "ControllerClass",
              "canonicalReference": "@loopback/rest!ControllerClass:type"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": ", controllerFactory?: "
            },
            {
              "kind": "Reference",
              "text": "ControllerFactory",
              "canonicalReference": "@loopback/rest!ControllerFactory:type"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ControllerRoute",
              "canonicalReference": "@loopback/rest!ControllerRoute:class"
            },
            {
              "kind": "Content",
              "text": "<T>[]"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 9,
            "endIndex": 11
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "spec",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "controllerCtor",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              }
            },
            {
              "parameterName": "controllerFactory",
              "parameterTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 8
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "createRoutesForController"
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!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 DefaultSequence implements "
            },
            {
              "kind": "Reference",
              "text": "SequenceHandler",
              "canonicalReference": "@loopback/rest!SequenceHandler:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "DefaultSequence",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!DefaultSequence:constructor(1)",
              "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(findRoute: "
                },
                {
                  "kind": "Reference",
                  "text": "FindRoute",
                  "canonicalReference": "@loopback/rest!FindRoute:type"
                },
                {
                  "kind": "Content",
                  "text": ", parseParams: "
                },
                {
                  "kind": "Reference",
                  "text": "ParseParams",
                  "canonicalReference": "@loopback/rest!ParseParams:type"
                },
                {
                  "kind": "Content",
                  "text": ", invoke: "
                },
                {
                  "kind": "Reference",
                  "text": "InvokeMethod",
                  "canonicalReference": "@loopback/rest!InvokeMethod:type"
                },
                {
                  "kind": "Content",
                  "text": ", send: "
                },
                {
                  "kind": "Reference",
                  "text": "Send",
                  "canonicalReference": "@loopback/rest!Send:type"
                },
                {
                  "kind": "Content",
                  "text": ", reject: "
                },
                {
                  "kind": "Reference",
                  "text": "Reject",
                  "canonicalReference": "@loopback/rest!Reject:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "findRoute",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "parseParams",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "invoke",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "send",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "reject",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!DefaultSequence#findRoute:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected findRoute: "
                },
                {
                  "kind": "Reference",
                  "text": "FindRoute",
                  "canonicalReference": "@loopback/rest!FindRoute:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "findRoute",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!DefaultSequence#handle:member(1)",
              "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": "Content",
                  "text": "handle(context: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestContext",
                  "canonicalReference": "@loopback/rest!RequestContext:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "handle"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!DefaultSequence#invoke:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected invoke: "
                },
                {
                  "kind": "Reference",
                  "text": "InvokeMethod",
                  "canonicalReference": "@loopback/rest!InvokeMethod:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "invoke",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!DefaultSequence#parseParams:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected parseParams: "
                },
                {
                  "kind": "Reference",
                  "text": "ParseParams",
                  "canonicalReference": "@loopback/rest!ParseParams:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "parseParams",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!DefaultSequence#reject:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "reject: "
                },
                {
                  "kind": "Reference",
                  "text": "Reject",
                  "canonicalReference": "@loopback/rest!Reject:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "reject",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!DefaultSequence#send:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "send: "
                },
                {
                  "kind": "Reference",
                  "text": "Send",
                  "canonicalReference": "@loopback/rest!Send:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "send",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/rest!ERR_NO_MULTI_SERVER:var",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "ERR_NO_MULTI_SERVER: "
            },
            {
              "kind": "Content",
              "text": "string"
            }
          ],
          "releaseTag": "Public",
          "name": "ERR_NO_MULTI_SERVER",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!ExpressRequestHandler:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type ExpressRequestHandler = "
            },
            {
              "kind": "Reference",
              "text": "express.RequestHandler",
              "canonicalReference": "@types/express!~e.RequestHandler:interface"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ExpressRequestHandler",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!FindRoute:type",
          "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 FindRoute = "
            },
            {
              "kind": "Content",
              "text": "(request: "
            },
            {
              "kind": "Reference",
              "text": "Request",
              "canonicalReference": "@types/express!~e.Request:interface"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "ResolvedRoute",
              "canonicalReference": "@loopback/rest!ResolvedRoute:interface"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "FindRoute",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 5
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!FindRouteProvider:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class FindRouteProvider implements "
            },
            {
              "kind": "Reference",
              "text": "Provider",
              "canonicalReference": "@loopback/context!Provider:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "FindRoute",
              "canonicalReference": "@loopback/rest!FindRoute:type"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "FindRouteProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!FindRouteProvider:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `FindRouteProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(context: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ", handler: "
                },
                {
                  "kind": "Reference",
                  "text": "HttpHandler",
                  "canonicalReference": "@loopback/rest!HttpHandler:class"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "handler",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!FindRouteProvider#action:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "action(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute",
                  "canonicalReference": "@loopback/rest!ResolvedRoute:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "action"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!FindRouteProvider#context:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected context: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "context",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!FindRouteProvider#handler:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected handler: "
                },
                {
                  "kind": "Reference",
                  "text": "HttpHandler",
                  "canonicalReference": "@loopback/rest!HttpHandler:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "handler",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!FindRouteProvider#value:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value(): "
                },
                {
                  "kind": "Reference",
                  "text": "FindRoute",
                  "canonicalReference": "@loopback/rest!FindRoute:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!GetFromContext:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type GetFromContext = "
            },
            {
              "kind": "Content",
              "text": "(key: string) => "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "BoundValue",
              "canonicalReference": "@loopback/context!BoundValue:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "GetFromContext",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!GetFromContextProvider:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class GetFromContextProvider implements "
            },
            {
              "kind": "Reference",
              "text": "Provider",
              "canonicalReference": "@loopback/context!Provider:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "GetFromContext",
              "canonicalReference": "@loopback/rest!GetFromContext:type"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "GetFromContextProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!GetFromContextProvider:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `GetFromContextProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(context: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!GetFromContextProvider#action:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "action(key: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BoundValue",
                  "canonicalReference": "@loopback/context!BoundValue:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "key",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "action"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!GetFromContextProvider#context:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected context: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "context",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!GetFromContextProvider#value:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value(): "
                },
                {
                  "kind": "Reference",
                  "text": "GetFromContext",
                  "canonicalReference": "@loopback/rest!GetFromContext:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!getPathVariables:function(1)",
          "docComment": "/**\n * Get all path variables. For example, `/root/{foo}/bar` => `['foo']`\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function getPathVariables(path: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "RegExpMatchArray",
              "canonicalReference": "!RegExpMatchArray:interface"
            },
            {
              "kind": "Content",
              "text": " | null"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "getPathVariables"
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!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 HandlerContext "
            }
          ],
          "releaseTag": "Public",
          "name": "HandlerContext",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!HandlerContext#request:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "request",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!HandlerContext#response:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly response: "
                },
                {
                  "kind": "Reference",
                  "text": "Response",
                  "canonicalReference": "@types/express!~e.Response:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "response",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!HttpHandler:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class HttpHandler "
            }
          ],
          "releaseTag": "Public",
          "name": "HttpHandler",
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!HttpHandler#_apiDefinitions:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _apiDefinitions: "
                },
                {
                  "kind": "Reference",
                  "text": "SchemasObject",
                  "canonicalReference": "openapi3-ts!SchemasObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_apiDefinitions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!HttpHandler#_handleRequest:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _handleRequest(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": ", response: "
                },
                {
                  "kind": "Reference",
                  "text": "Response",
                  "canonicalReference": "@types/express!~e.Response:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "response",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "_handleRequest"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!HttpHandler#_rootContext:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly _rootContext: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_rootContext",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!HttpHandler#_routes:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly _routes: "
                },
                {
                  "kind": "Reference",
                  "text": "RoutingTable",
                  "canonicalReference": "@loopback/rest!RoutingTable:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_routes",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!HttpHandler#_serverConfig:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly _serverConfig: "
                },
                {
                  "kind": "Reference",
                  "text": "RestServerResolvedConfig",
                  "canonicalReference": "@loopback/rest!RestServerResolvedConfig:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_serverConfig",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!HttpHandler:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `HttpHandler` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(_rootContext: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ", _serverConfig: "
                },
                {
                  "kind": "Reference",
                  "text": "RestServerResolvedConfig",
                  "canonicalReference": "@loopback/rest!RestServerResolvedConfig:type"
                },
                {
                  "kind": "Content",
                  "text": ", _routes?: "
                },
                {
                  "kind": "Reference",
                  "text": "RoutingTable",
                  "canonicalReference": "@loopback/rest!RoutingTable:class"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "_rootContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "_serverConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "_routes",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!HttpHandler#describeApiPaths:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "describeApiPaths(): "
                },
                {
                  "kind": "Reference",
                  "text": "PathObject",
                  "canonicalReference": "openapi3-ts!PathObject:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "describeApiPaths"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!HttpHandler#findRoute:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "findRoute(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute",
                  "canonicalReference": "@loopback/rest!ResolvedRoute:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "findRoute"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!HttpHandler#getApiDefinitions:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getApiDefinitions(): "
                },
                {
                  "kind": "Reference",
                  "text": "SchemasObject",
                  "canonicalReference": "openapi3-ts!SchemasObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "getApiDefinitions"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!HttpHandler#handleRequest:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "handleRequest: "
                },
                {
                  "kind": "Content",
                  "text": "(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": ", response: "
                },
                {
                  "kind": "Reference",
                  "text": "Response",
                  "canonicalReference": "@types/express!~e.Response:interface"
                },
                {
                  "kind": "Content",
                  "text": ") => "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "handleRequest",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 8
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!HttpHandler#registerApiDefinitions:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "registerApiDefinitions(defs: "
                },
                {
                  "kind": "Reference",
                  "text": "SchemasObject",
                  "canonicalReference": "openapi3-ts!SchemasObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "defs",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "registerApiDefinitions"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!HttpHandler#registerController:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "registerController<T>(spec: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerSpec",
                  "canonicalReference": "@loopback/openapi-v3!ControllerSpec:interface"
                },
                {
                  "kind": "Content",
                  "text": ", controllerCtor: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass",
                  "canonicalReference": "@loopback/rest!ControllerClass:type"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": ", controllerFactory?: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerFactory",
                  "canonicalReference": "@loopback/rest!ControllerFactory:type"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "controllerCtor",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "controllerFactory",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 8
                  }
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "name": "registerController"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!HttpHandler#registerRoute:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "registerRoute(route: "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry",
                  "canonicalReference": "@loopback/rest!RouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "registerRoute"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!HttpRequestListener:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type HttpRequestListener = "
            },
            {
              "kind": "Content",
              "text": "(req: "
            },
            {
              "kind": "Reference",
              "text": "IncomingMessage",
              "canonicalReference": "!\"\\\"http\\\"\".IncomingMessage:class"
            },
            {
              "kind": "Content",
              "text": ", res: "
            },
            {
              "kind": "Reference",
              "text": "ServerResponse",
              "canonicalReference": "!\"\\\"http\\\"\".ServerResponse:class"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "HttpRequestListener",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!HttpServerLike:interface",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface HttpServerLike "
            }
          ],
          "releaseTag": "Public",
          "name": "HttpServerLike",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!HttpServerLike#requestHandler:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "requestHandler: "
                },
                {
                  "kind": "Reference",
                  "text": "HttpRequestListener",
                  "canonicalReference": "@loopback/rest!HttpRequestListener:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "requestHandler",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!InfoSpecEnhancer:class",
          "docComment": "/**\n * An OpenAPI spec enhancer to populate `info` with application metadata (package.json).\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class InfoSpecEnhancer implements "
            },
            {
              "kind": "Reference",
              "text": "OASEnhancer",
              "canonicalReference": "@loopback/openapi-v3!OASEnhancer:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "InfoSpecEnhancer",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!InfoSpecEnhancer:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `InfoSpecEnhancer` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(pkg?: "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationMetadata",
                  "canonicalReference": "@loopback/core!ApplicationMetadata:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "pkg",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!InfoSpecEnhancer#modifySpec:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modifySpec(spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpec",
                  "canonicalReference": "@loopback/openapi-v3!OpenApiSpec:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpec",
                  "canonicalReference": "@loopback/openapi-v3!OpenApiSpec:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "modifySpec"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!InfoSpecEnhancer#name:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!InfoSpecEnhancer#pkg:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly pkg?: "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationMetadata",
                  "canonicalReference": "@loopback/core!ApplicationMetadata:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "pkg",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!InvokeMethod:type",
          "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 InvokeMethod = "
            },
            {
              "kind": "Content",
              "text": "(route: "
            },
            {
              "kind": "Reference",
              "text": "RouteEntry",
              "canonicalReference": "@loopback/rest!RouteEntry:interface"
            },
            {
              "kind": "Content",
              "text": ", args: "
            },
            {
              "kind": "Reference",
              "text": "OperationArgs",
              "canonicalReference": "@loopback/rest!OperationArgs:type"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "OperationRetval",
              "canonicalReference": "@loopback/rest!OperationRetval:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "InvokeMethod",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 10
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!InvokeMethodProvider:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class InvokeMethodProvider implements "
            },
            {
              "kind": "Reference",
              "text": "Provider",
              "canonicalReference": "@loopback/context!Provider:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "InvokeMethod",
              "canonicalReference": "@loopback/rest!InvokeMethod:type"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "InvokeMethodProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!InvokeMethodProvider:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `InvokeMethodProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(context: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!InvokeMethodProvider#action:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "action(route: "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry",
                  "canonicalReference": "@loopback/rest!RouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": ", args: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs",
                  "canonicalReference": "@loopback/rest!OperationArgs:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationRetval",
                  "canonicalReference": "@loopback/rest!OperationRetval:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "args",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "action"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!InvokeMethodProvider#context:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected context: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "context",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!InvokeMethodProvider#value:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value(): "
                },
                {
                  "kind": "Reference",
                  "text": "InvokeMethod",
                  "canonicalReference": "@loopback/rest!InvokeMethod:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!joinPath:function(1)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function joinPath(basePath: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", path: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "basePath",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "joinPath"
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!JsonBodyParser:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class JsonBodyParser implements "
            },
            {
              "kind": "Reference",
              "text": "BodyParser",
              "canonicalReference": "@loopback/rest!BodyParser:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "JsonBodyParser",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!JsonBodyParser:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `JsonBodyParser` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions",
                  "canonicalReference": "@loopback/rest!RequestBodyParserOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!JsonBodyParser#name:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name: "
                },
                {
                  "kind": "Content",
                  "text": "symbol"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!JsonBodyParser#parse:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "parse(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody",
                  "canonicalReference": "@loopback/rest!RequestBody:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "parse"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!JsonBodyParser#supports:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "supports(mediaType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "mediaType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "supports"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!LogError:type",
          "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 LogError = "
            },
            {
              "kind": "Content",
              "text": "(err: "
            },
            {
              "kind": "Reference",
              "text": "Error",
              "canonicalReference": "!Error:interface"
            },
            {
              "kind": "Content",
              "text": ", statusCode: number, request: "
            },
            {
              "kind": "Reference",
              "text": "Request",
              "canonicalReference": "@types/express!~e.Request:interface"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "LogError",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!LogErrorProvider:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class LogErrorProvider implements "
            },
            {
              "kind": "Reference",
              "text": "Provider",
              "canonicalReference": "@loopback/context!Provider:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "LogError",
              "canonicalReference": "@loopback/rest!LogError:type"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "LogErrorProvider",
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!LogErrorProvider#action:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "action(err: "
                },
                {
                  "kind": "Reference",
                  "text": "Error",
                  "canonicalReference": "!Error:interface"
                },
                {
                  "kind": "Content",
                  "text": ", statusCode: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", req: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "err",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "statusCode",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "req",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "action"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!LogErrorProvider#value:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value(): "
                },
                {
                  "kind": "Reference",
                  "text": "LogError",
                  "canonicalReference": "@loopback/rest!LogError:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!Node:interface",
          "docComment": "/**\n * A Node in the trie\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface Node<T> "
            }
          ],
          "releaseTag": "Public",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "Node",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!Node#children:member",
              "docComment": "/**\n * Children of the node\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly children: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        [key: string]: "
                },
                {
                  "kind": "Reference",
                  "text": "Node",
                  "canonicalReference": "@loopback/rest!Node:interface"
                },
                {
                  "kind": "Content",
                  "text": "<T>;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "children",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!Node#key:member",
              "docComment": "/**\n * Key of the node\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "key: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "key",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!Node#names:member",
              "docComment": "/**\n * Names of the node if it contains named parameters\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "names?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "names",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!Node#regexp:member",
              "docComment": "/**\n * Regular expression for the template\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "regexp?: "
                },
                {
                  "kind": "Reference",
                  "text": "RegExp",
                  "canonicalReference": "!RegExp:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "regexp",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!Node#value:member",
              "docComment": "/**\n * Value of the node\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value?: "
                },
                {
                  "kind": "Content",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "value",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!NodeWithValue:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type NodeWithValue<T> = "
            },
            {
              "kind": "Reference",
              "text": "Node",
              "canonicalReference": "@loopback/rest!Node:interface"
            },
            {
              "kind": "Content",
              "text": "<T> & {\n    value: T;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "NodeWithValue",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!OpenApiSpecForm:interface",
          "docComment": "/**\n * The form of OpenAPI specs to be served\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface OpenApiSpecForm "
            }
          ],
          "releaseTag": "Public",
          "name": "OpenApiSpecForm",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!OpenApiSpecForm#format:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "format?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "format",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!OpenApiSpecForm#version:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "version?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "version",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!OpenApiSpecOptions:interface",
          "docComment": "/**\n * Options to customize how OpenAPI specs are served\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface OpenApiSpecOptions "
            }
          ],
          "releaseTag": "Public",
          "name": "OpenApiSpecOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!OpenApiSpecOptions#disabled:member",
              "docComment": "/**\n * Set this flag to disable the endpoint for OpenAPI spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "disabled?: "
                },
                {
                  "kind": "Content",
                  "text": "true"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "disabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!OpenApiSpecOptions#endpointMapping:member",
              "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": "Content",
                  "text": "endpointMapping?: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        [key: string]: "
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpecForm",
                  "canonicalReference": "@loopback/rest!OpenApiSpecForm:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "endpointMapping",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!OpenApiSpecOptions#servers:member",
              "docComment": "/**\n * Configure servers for OpenAPI spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "servers?: "
                },
                {
                  "kind": "Reference",
                  "text": "ServerObject",
                  "canonicalReference": "openapi3-ts!ServerObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "servers",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!OpenApiSpecOptions#setServersFromRequest:member",
              "docComment": "/**\n * A flag to force `servers` to be set from the http request for the OpenAPI spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setServersFromRequest?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "setServersFromRequest",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!OperationArgs:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type OperationArgs = "
            },
            {
              "kind": "Content",
              "text": "any[]"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "OperationArgs",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!OperationRetval:type",
          "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 OperationRetval = "
            },
            {
              "kind": "Content",
              "text": "any"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "OperationRetval",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!parseJson:function(1)",
          "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 parseJson(text: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", reviver?: "
            },
            {
              "kind": "Content",
              "text": "(key: any, value: any) => any"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "any"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "text",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "reviver",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "parseJson"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!parseOperationArgs:function(1)",
          "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 parseOperationArgs(request: "
            },
            {
              "kind": "Reference",
              "text": "Request",
              "canonicalReference": "@types/express!~e.Request:interface"
            },
            {
              "kind": "Content",
              "text": ", route: "
            },
            {
              "kind": "Reference",
              "text": "ResolvedRoute",
              "canonicalReference": "@loopback/rest!ResolvedRoute:interface"
            },
            {
              "kind": "Content",
              "text": ", requestBodyParser?: "
            },
            {
              "kind": "Reference",
              "text": "RequestBodyParser",
              "canonicalReference": "@loopback/rest!RequestBodyParser:class"
            },
            {
              "kind": "Content",
              "text": ", options?: "
            },
            {
              "kind": "Reference",
              "text": "RequestBodyValidationOptions",
              "canonicalReference": "@loopback/rest!RequestBodyValidationOptions:interface"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "OperationArgs",
              "canonicalReference": "@loopback/rest!OperationArgs:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 9,
            "endIndex": 13
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "request",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "route",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            },
            {
              "parameterName": "requestBodyParser",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              }
            }
          ],
          "name": "parseOperationArgs"
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!ParseParams:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type ParseParams = "
            },
            {
              "kind": "Content",
              "text": "(request: "
            },
            {
              "kind": "Reference",
              "text": "Request",
              "canonicalReference": "@types/express!~e.Request:interface"
            },
            {
              "kind": "Content",
              "text": ", route: "
            },
            {
              "kind": "Reference",
              "text": "ResolvedRoute",
              "canonicalReference": "@loopback/rest!ResolvedRoute:interface"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "OperationArgs",
              "canonicalReference": "@loopback/rest!OperationArgs:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ParseParams",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 10
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!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 ParseParamsProvider implements "
            },
            {
              "kind": "Reference",
              "text": "Provider",
              "canonicalReference": "@loopback/context!Provider:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ParseParams",
              "canonicalReference": "@loopback/rest!ParseParams:type"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "ParseParamsProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!ParseParamsProvider:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `ParseParamsProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(requestBodyParser: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParser",
                  "canonicalReference": "@loopback/rest!RequestBodyParser:class"
                },
                {
                  "kind": "Content",
                  "text": ", options?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions",
                  "canonicalReference": "@loopback/rest!RequestBodyParserOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "requestBodyParser",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!ParseParamsProvider#value:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value(): "
                },
                {
                  "kind": "Content",
                  "text": "(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "<import(\"express-serve-static-core\")."
                },
                {
                  "kind": "Reference",
                  "text": "ParamsDictionary",
                  "canonicalReference": "@types/express-serve-static-core!ParamsDictionary:interface"
                },
                {
                  "kind": "Content",
                  "text": ">, route: "
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute",
                  "canonicalReference": "@loopback/rest!ResolvedRoute:interface"
                },
                {
                  "kind": "Content",
                  "text": ") => "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<import(\"../types\")."
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs",
                  "canonicalReference": "@loopback/rest!OperationArgs:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 12
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!PathParameterValues:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type PathParameterValues = "
            },
            {
              "kind": "Content",
              "text": "{\n    [key: string]: any;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "PathParameterValues",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!RawBodyParser:class",
          "docComment": "/**\n * Parsing the request body into Buffer\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class RawBodyParser implements "
            },
            {
              "kind": "Reference",
              "text": "BodyParser",
              "canonicalReference": "@loopback/rest!BodyParser:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RawBodyParser",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!RawBodyParser:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `RawBodyParser` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions",
                  "canonicalReference": "@loopback/rest!RequestBodyParserOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RawBodyParser#name:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name: "
                },
                {
                  "kind": "Content",
                  "text": "symbol"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RawBodyParser#parse:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "parse(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody",
                  "canonicalReference": "@loopback/rest!RequestBody:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "parse"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RawBodyParser#supports:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "supports(mediaType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "mediaType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "supports"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!rebaseOpenApiSpec:function(1)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function rebaseOpenApiSpec<T extends "
            },
            {
              "kind": "Reference",
              "text": "Partial",
              "canonicalReference": "!Partial:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "OpenApiSpec",
              "canonicalReference": "@loopback/openapi-v3!OpenApiSpec:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ">(spec: "
            },
            {
              "kind": "Content",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ", basePath: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 10,
            "endIndex": 11
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "spec",
              "parameterTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              }
            },
            {
              "parameterName": "basePath",
              "parameterTypeTokenRange": {
                "startIndex": 8,
                "endIndex": 9
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "rebaseOpenApiSpec"
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!RedirectRoute:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class RedirectRoute implements "
            },
            {
              "kind": "Reference",
              "text": "RouteEntry",
              "canonicalReference": "@loopback/rest!RouteEntry:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "ResolvedRoute",
              "canonicalReference": "@loopback/rest!ResolvedRoute:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RedirectRoute",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!RedirectRoute:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `RedirectRoute` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(sourcePath: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", targetLocation: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", statusCode?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "sourcePath",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "targetLocation",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "statusCode",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RedirectRoute#describe:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "describe(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "describe"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RedirectRoute#invokeHandler:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "invokeHandler({ response }: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestContext",
                  "canonicalReference": "@loopback/rest!RequestContext:class"
                },
                {
                  "kind": "Content",
                  "text": ", args: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs",
                  "canonicalReference": "@loopback/rest!OperationArgs:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationRetval",
                  "canonicalReference": "@loopback/rest!OperationRetval:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "{ response }",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "args",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "invokeHandler"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RedirectRoute#path:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "path",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RedirectRoute#pathParams:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly pathParams: "
                },
                {
                  "kind": "Reference",
                  "text": "PathParameterValues",
                  "canonicalReference": "@loopback/rest!PathParameterValues:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "pathParams",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RedirectRoute#schemas:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly schemas: "
                },
                {
                  "kind": "Reference",
                  "text": "SchemasObject",
                  "canonicalReference": "openapi3-ts!SchemasObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "schemas",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RedirectRoute#spec:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "spec",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RedirectRoute#updateBindings:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "updateBindings(requestContext: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestContext",
                  "canonicalReference": "@loopback/rest!RequestContext:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "updateBindings"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RedirectRoute#verb:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "verb",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            },
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!RegExpRouter:class",
          "docComment": "/**\n * Router implementation based on regexp matching\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class RegExpRouter extends "
            },
            {
              "kind": "Reference",
              "text": "BaseRouter",
              "canonicalReference": "@loopback/rest!BaseRouter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RegExpRouter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!RegExpRouter:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `RegExpRouter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options?: "
                },
                {
                  "kind": "Reference",
                  "text": "RestRouterOptions",
                  "canonicalReference": "@loopback/rest!RestRouterOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RegExpRouter#addRouteWithPathVars:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected addRouteWithPathVars(route: "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry",
                  "canonicalReference": "@loopback/rest!RouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "addRouteWithPathVars"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RegExpRouter#findRouteWithPathVars:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected findRouteWithPathVars(verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute",
                  "canonicalReference": "@loopback/rest!ResolvedRoute:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "findRouteWithPathVars"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RegExpRouter#listRoutesWithPathVars:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected listRoutesWithPathVars(): "
                },
                {
                  "kind": "Reference",
                  "text": "RegExpRouteEntry",
                  "canonicalReference": "@loopback/rest!~RegExpRouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "listRoutesWithPathVars"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!Reject:type",
          "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 Reject = "
            },
            {
              "kind": "Content",
              "text": "(handlerContext: "
            },
            {
              "kind": "Reference",
              "text": "HandlerContext",
              "canonicalReference": "@loopback/rest!HandlerContext:interface"
            },
            {
              "kind": "Content",
              "text": ", err: "
            },
            {
              "kind": "Reference",
              "text": "Error",
              "canonicalReference": "!Error:interface"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "Reject",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!RejectProvider:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class RejectProvider implements "
            },
            {
              "kind": "Reference",
              "text": "Provider",
              "canonicalReference": "@loopback/context!Provider:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Reject",
              "canonicalReference": "@loopback/rest!Reject:type"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "RejectProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!RejectProvider:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `RejectProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(logError: "
                },
                {
                  "kind": "Reference",
                  "text": "LogError",
                  "canonicalReference": "@loopback/rest!LogError:type"
                },
                {
                  "kind": "Content",
                  "text": ", errorWriterOptions?: "
                },
                {
                  "kind": "Reference",
                  "text": "ErrorWriterOptions",
                  "canonicalReference": "strong-error-handler!~errorHandlerFactory.ErrorWriterOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "logError",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "errorWriterOptions",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 5
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RejectProvider#action:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "action({ request, response }: "
                },
                {
                  "kind": "Reference",
                  "text": "HandlerContext",
                  "canonicalReference": "@loopback/rest!HandlerContext:interface"
                },
                {
                  "kind": "Content",
                  "text": ", error: "
                },
                {
                  "kind": "Reference",
                  "text": "Error",
                  "canonicalReference": "!Error:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "{ request, response }",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "error",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "action"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RejectProvider#errorWriterOptions:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected errorWriterOptions?: "
                },
                {
                  "kind": "Reference",
                  "text": "ErrorWriterOptions",
                  "canonicalReference": "strong-error-handler!~errorHandlerFactory.ErrorWriterOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "errorWriterOptions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RejectProvider#logError:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected logError: "
                },
                {
                  "kind": "Reference",
                  "text": "LogError",
                  "canonicalReference": "@loopback/rest!LogError:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "logError",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RejectProvider#value:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value(): "
                },
                {
                  "kind": "Reference",
                  "text": "Reject",
                  "canonicalReference": "@loopback/rest!Reject:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/rest!REQUEST_BODY_PARSER_TAG:var",
          "docComment": "/**\n * Binding tag for request body parser extensions\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "REQUEST_BODY_PARSER_TAG = \"rest.requestBodyParser\""
            }
          ],
          "releaseTag": "Public",
          "name": "REQUEST_BODY_PARSER_TAG",
          "variableTypeTokenRange": {
            "startIndex": 0,
            "endIndex": 0
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!RequestBody:type",
          "docComment": "/**\n * Request body with metadata\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type RequestBody = "
            },
            {
              "kind": "Content",
              "text": "{\n    value: any | undefined;\n    coercionRequired?: boolean;\n    mediaType?: string;\n    schema?: "
            },
            {
              "kind": "Reference",
              "text": "SchemaObject",
              "canonicalReference": "openapi3-ts!SchemaObject:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "ReferenceObject",
              "canonicalReference": "openapi3-ts!ReferenceObject:interface"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RequestBody",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!RequestBodyParser:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class RequestBodyParser "
            }
          ],
          "releaseTag": "Public",
          "name": "RequestBodyParser",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!RequestBodyParser:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `RequestBodyParser` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(parsers?: "
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ", ctx?: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "parsers",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  }
                },
                {
                  "parameterName": "ctx",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 6
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RequestBodyParser#loadRequestBodyIfNeeded:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "loadRequestBodyIfNeeded(operationSpec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ", request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody",
                  "canonicalReference": "@loopback/rest!RequestBody:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "operationSpec",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "loadRequestBodyIfNeeded"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RequestBodyParser#parsers:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly parsers: "
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "parsers",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!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 RequestBodyParserOptions extends "
            },
            {
              "kind": "Reference",
              "text": "Options",
              "canonicalReference": "@types/body-parser!~bodyParser.Options:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RequestBodyParserOptions",
          "members": [
            {
              "kind": "IndexSignature",
              "canonicalReference": "@loopback/rest!RequestBodyParserOptions:index(1)",
              "docComment": "/**\n * Common options for all parsers\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "[name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "unknown"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RequestBodyParserOptions#json:member",
              "docComment": "/**\n * Options for json parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "json?: "
                },
                {
                  "kind": "Reference",
                  "text": "OptionsJson",
                  "canonicalReference": "@types/body-parser!~bodyParser.OptionsJson:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "json",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RequestBodyParserOptions#raw:member",
              "docComment": "/**\n * Options for raw parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "raw?: "
                },
                {
                  "kind": "Reference",
                  "text": "Options",
                  "canonicalReference": "@types/body-parser!~bodyParser.Options:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "raw",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RequestBodyParserOptions#text:member",
              "docComment": "/**\n * Options for text parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "text?: "
                },
                {
                  "kind": "Reference",
                  "text": "OptionsText",
                  "canonicalReference": "@types/body-parser!~bodyParser.OptionsText:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "text",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RequestBodyParserOptions#urlencoded:member",
              "docComment": "/**\n * Options for urlencoded parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "urlencoded?: "
                },
                {
                  "kind": "Reference",
                  "text": "OptionsUrlencoded",
                  "canonicalReference": "@types/body-parser!~bodyParser.OptionsUrlencoded:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "urlencoded",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RequestBodyParserOptions#validation:member",
              "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": "Content",
                  "text": "validation?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyValidationOptions",
                  "canonicalReference": "@loopback/rest!RequestBodyValidationOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "validation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!RequestBodyValidationOptions:interface",
          "docComment": "/**\n * Options for request body validation using AJV\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface RequestBodyValidationOptions extends "
            },
            {
              "kind": "Reference",
              "text": "ajv.Options",
              "canonicalReference": "ajv!~ajv.Options:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RequestBodyValidationOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RequestBodyValidationOptions#ajvErrors:member",
              "docComment": "/**\n * Enable custom error messages in JSON-Schema for AJV validator from https://github.com/epoberezkin/ajv-errors - `true`: Enable `ajv-errors` - `AjvErrorOptions`: Enable `ajv-errors` with options\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ajvErrors?: "
                },
                {
                  "kind": "Content",
                  "text": "true | "
                },
                {
                  "kind": "Reference",
                  "text": "AjvErrorOptions",
                  "canonicalReference": "@loopback/rest!AjvErrorOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "ajvErrors",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RequestBodyValidationOptions#ajvErrorTransformer:member",
              "docComment": "/**\n * A function that transform the `ErrorObject`s reported by AJV. This could be used for error messages customization, localization, etc.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ajvErrorTransformer?: "
                },
                {
                  "kind": "Content",
                  "text": "(errors: "
                },
                {
                  "kind": "Reference",
                  "text": "ajv.ErrorObject",
                  "canonicalReference": "ajv!~ajv.ErrorObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]) => "
                },
                {
                  "kind": "Reference",
                  "text": "ajv.ErrorObject",
                  "canonicalReference": "ajv!~ajv.ErrorObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "ajvErrorTransformer",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RequestBodyValidationOptions#ajvKeywords:member",
              "docComment": "/**\n * Enable additional AJV keywords from https://github.com/epoberezkin/ajv-keywords - `true`: Add all keywords from `ajv-keywords` - `string[]`: Add an array of keywords from `ajv-keywords`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ajvKeywords?: "
                },
                {
                  "kind": "Content",
                  "text": "true | string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "ajvKeywords",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RequestBodyValidationOptions#compiledSchemaCache:member",
              "docComment": "/**\n * Custom cache for compiled schemas by AJV. This setting makes it possible to skip the default cache.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "compiledSchemaCache?: "
                },
                {
                  "kind": "Reference",
                  "text": "SchemaValidatorCache",
                  "canonicalReference": "@loopback/rest!SchemaValidatorCache:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "compiledSchemaCache",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!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 RequestContext extends "
            },
            {
              "kind": "Reference",
              "text": "Context",
              "canonicalReference": "@loopback/context!Context:class"
            },
            {
              "kind": "Content",
              "text": " "
            },
            {
              "kind": "Content",
              "text": "implements "
            },
            {
              "kind": "Reference",
              "text": "HandlerContext",
              "canonicalReference": "@loopback/rest!HandlerContext:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RequestContext",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!RequestContext:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `RequestContext` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": ", response: "
                },
                {
                  "kind": "Reference",
                  "text": "Response",
                  "canonicalReference": "@types/express!~e.Response:interface"
                },
                {
                  "kind": "Content",
                  "text": ", parent: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ", serverConfig: "
                },
                {
                  "kind": "Reference",
                  "text": "RestServerResolvedConfig",
                  "canonicalReference": "@loopback/rest!RestServerResolvedConfig:type"
                },
                {
                  "kind": "Content",
                  "text": ", name?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "response",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "parent",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "serverConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RequestContext#basePath:member",
              "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": "get basePath(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "basePath",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RequestContext#request:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "request",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RequestContext#requestedBaseUrl:member",
              "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": "get requestedBaseUrl(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "requestedBaseUrl",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RequestContext#requestedProtocol:member",
              "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": "get requestedProtocol(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "requestedProtocol",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RequestContext#response:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly response: "
                },
                {
                  "kind": "Reference",
                  "text": "Response",
                  "canonicalReference": "@types/express!~e.Response:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "response",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RequestContext#serverConfig:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly serverConfig: "
                },
                {
                  "kind": "Reference",
                  "text": "RestServerResolvedConfig",
                  "canonicalReference": "@loopback/rest!RestServerResolvedConfig:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "serverConfig",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": [
            {
              "startIndex": 4,
              "endIndex": 6
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!ResolvedNode:interface",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ResolvedNode<T> "
            }
          ],
          "releaseTag": "Public",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "ResolvedNode",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!ResolvedNode#node:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "node: "
                },
                {
                  "kind": "Reference",
                  "text": "Node",
                  "canonicalReference": "@loopback/rest!Node:interface"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "node",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!ResolvedNode#params:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "params?: "
                },
                {
                  "kind": "Reference",
                  "text": "PathParameterValues",
                  "canonicalReference": "@loopback/rest!PathParameterValues:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "params",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!ResolvedRoute:interface",
          "docComment": "/**\n * A route with path parameters resolved\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ResolvedRoute extends "
            },
            {
              "kind": "Reference",
              "text": "RouteEntry",
              "canonicalReference": "@loopback/rest!RouteEntry:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "ResolvedRoute",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!ResolvedRoute#pathParams:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly pathParams: "
                },
                {
                  "kind": "Reference",
                  "text": "PathParameterValues",
                  "canonicalReference": "@loopback/rest!PathParameterValues:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "pathParams",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!ResolvedRoute#schemas:member",
              "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 schemas: "
                },
                {
                  "kind": "Reference",
                  "text": "SchemasObject",
                  "canonicalReference": "openapi3-ts!SchemasObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "schemas",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!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 RestApplication extends "
            },
            {
              "kind": "Reference",
              "text": "Application",
              "canonicalReference": "@loopback/core!Application:class"
            },
            {
              "kind": "Content",
              "text": " "
            },
            {
              "kind": "Content",
              "text": "implements "
            },
            {
              "kind": "Reference",
              "text": "HttpServerLike",
              "canonicalReference": "@loopback/rest!HttpServerLike:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RestApplication",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!RestApplication:constructor(1)",
              "docComment": "/**\n * Create a REST application with the given parent context\n *\n * @param parent - Parent context\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(parent: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "parent",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!RestApplication:constructor(2)",
              "docComment": "/**\n * Create a REST application with the given configuration and parent context\n *\n * @param config - Application configuration\n *\n * @param parent - Parent context\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(config?: "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationConfig",
                  "canonicalReference": "@loopback/core!ApplicationConfig:interface"
                },
                {
                  "kind": "Content",
                  "text": ", parent?: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "config",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "parent",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#api:member(1)",
              "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": "Content",
                  "text": "api(spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpec",
                  "canonicalReference": "@loopback/openapi-v3!OpenApiSpec:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "api"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#basePath:member(1)",
              "docComment": "/**\n * Configure the `basePath` for the rest server\n *\n * @param path - Base path\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "basePath(path?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "basePath"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#bodyParser:member(1)",
              "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": "Content",
                  "text": "bodyParser(bodyParserClass: "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor",
                  "canonicalReference": "@loopback/context!Constructor:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", address?: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingAddress",
                  "canonicalReference": "@loopback/context!BindingAddress:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 11,
                "endIndex": 15
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "bodyParserClass",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "address",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 10
                  }
                }
              ],
              "name": "bodyParser"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#handler:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "handler(handlerFn: "
                },
                {
                  "kind": "Reference",
                  "text": "SequenceFunction",
                  "canonicalReference": "@loopback/rest!SequenceFunction:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "handlerFn",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "handler"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#mountExpressRouter:member(1)",
              "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": "Content",
                  "text": "mountExpressRouter(basePath: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", router: "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressRequestHandler",
                  "canonicalReference": "@loopback/rest!ExpressRequestHandler:type"
                },
                {
                  "kind": "Content",
                  "text": ", spec?: "
                },
                {
                  "kind": "Reference",
                  "text": "RouterSpec",
                  "canonicalReference": "@loopback/rest!RouterSpec:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "basePath",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "router",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "mountExpressRouter"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#redirect:member(1)",
              "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": "Content",
                  "text": "redirect(fromPath: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", toPathOrUrl: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", statusCode?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "fromPath",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "toPathOrUrl",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "statusCode",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "redirect"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestApplication#requestHandler:member",
              "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": "get requestHandler(): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpRequestListener",
                  "canonicalReference": "@loopback/rest!HttpRequestListener:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "requestHandler",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestApplication#restServer:member",
              "docComment": "/**\n * The main REST server instance providing REST API for this application.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get restServer(): "
                },
                {
                  "kind": "Reference",
                  "text": "RestServer",
                  "canonicalReference": "@loopback/rest!RestServer:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "restServer",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#route:member(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": "Content",
                  "text": "route<T>(verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ", controllerCtor: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass",
                  "canonicalReference": "@loopback/rest!ControllerClass:type"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": ", controllerFactory: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerFactory",
                  "canonicalReference": "@loopback/rest!ControllerFactory:type"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": ", methodName: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 15,
                "endIndex": 16
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "controllerCtor",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "controllerFactory",
                  "parameterTypeTokenRange": {
                    "startIndex": 10,
                    "endIndex": 12
                  }
                },
                {
                  "parameterName": "methodName",
                  "parameterTypeTokenRange": {
                    "startIndex": 13,
                    "endIndex": 14
                  }
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#route:member(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": "Content",
                  "text": "route(verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ", handler: "
                },
                {
                  "kind": "Reference",
                  "text": "Function",
                  "canonicalReference": "!Function:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "handler",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#route:member(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": "Content",
                  "text": "route(route: "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry",
                  "canonicalReference": "@loopback/rest!RouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 3,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#route:member(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": "Content",
                  "text": "route(verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ", handler: "
                },
                {
                  "kind": "Reference",
                  "text": "Function",
                  "canonicalReference": "!Function:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 4,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "handler",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#sequence:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sequence(sequence: "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor",
                  "canonicalReference": "@loopback/context!Constructor:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "SequenceHandler",
                  "canonicalReference": "@loopback/rest!SequenceHandler:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "sequence",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                }
              ],
              "name": "sequence"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#server:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "server(server: "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor",
                  "canonicalReference": "@loopback/context!Constructor:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Server",
                  "canonicalReference": "@loopback/core!Server:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", name?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 8,
                "endIndex": 9
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "server",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 7
                  }
                }
              ],
              "name": "server"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestApplication#static:member(1)",
              "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": "Content",
                  "text": "static(path: "
                },
                {
                  "kind": "Reference",
                  "text": "PathParams",
                  "canonicalReference": "@types/express-serve-static-core!PathParams:type"
                },
                {
                  "kind": "Content",
                  "text": ", rootDir: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", options?: "
                },
                {
                  "kind": "Reference",
                  "text": "ServeStaticOptions",
                  "canonicalReference": "@types/serve-static!~serveStatic.ServeStaticOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "rootDir",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "static"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": [
            {
              "startIndex": 4,
              "endIndex": 6
            }
          ]
        },
        {
          "kind": "Namespace",
          "canonicalReference": "@loopback/rest!RestBindings:namespace",
          "docComment": "/**\n * RestServer-specific bindings\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare namespace RestBindings "
            }
          ],
          "releaseTag": "Public",
          "name": "RestBindings",
          "members": [
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.API_SPEC:var",
              "docComment": "/**\n * Binding key for setting and injecting an OpenAPI spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "API_SPEC: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<import(\"@loopback/openapi-v3\")."
                },
                {
                  "kind": "Reference",
                  "text": "OpenAPIObject",
                  "canonicalReference": "openapi3-ts!OpenAPIObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "API_SPEC",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.BASE_PATH:var",
              "docComment": "/**\n * Internal binding key for basePath\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BASE_PATH: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                }
              ],
              "releaseTag": "Public",
              "name": "BASE_PATH",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.BIND_ELEMENT:var",
              "docComment": "/**\n * Binding key for setting and injecting a wrapper function for setting values on a given context\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BIND_ELEMENT: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BindElement",
                  "canonicalReference": "@loopback/rest!BindElement:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "BIND_ELEMENT",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.CONFIG:var",
              "docComment": "/**\n * Binding key for setting and injecting RestComponentConfig\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "CONFIG: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<unknown>"
                }
              ],
              "releaseTag": "Public",
              "name": "CONFIG",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.ERROR_WRITER_OPTIONS:var",
              "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": "Content",
                  "text": "ERROR_WRITER_OPTIONS: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ErrorWriterOptions",
                  "canonicalReference": "strong-error-handler!~errorHandlerFactory.ErrorWriterOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "ERROR_WRITER_OPTIONS",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.GET_FROM_CONTEXT:var",
              "docComment": "/**\n * Binding key for setting and injecting a wrapper function for retrieving values from a given context\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GET_FROM_CONTEXT: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "GetFromContext",
                  "canonicalReference": "@loopback/rest!GetFromContext:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "GET_FROM_CONTEXT",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.HANDLER:var",
              "docComment": "/**\n * Internal binding key for http-handler\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "HANDLER: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "HttpHandler",
                  "canonicalReference": "@loopback/rest!HttpHandler:class"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "HANDLER",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.HOST:var",
              "docComment": "/**\n * Binding key for setting and injecting the host name of RestServer\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "HOST: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<string | undefined>"
                }
              ],
              "releaseTag": "Public",
              "name": "HOST",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "Namespace",
              "canonicalReference": "@loopback/rest!RestBindings.Http:namespace",
              "docComment": "/**\n * Request-specific bindings\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "namespace Http "
                }
              ],
              "releaseTag": "Public",
              "name": "Http",
              "members": [
                {
                  "kind": "Variable",
                  "canonicalReference": "@loopback/rest!RestBindings.Http.CONTEXT:var",
                  "docComment": "/**\n * Binding key for setting and injecting the http request context\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "CONTEXT: "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey",
                      "canonicalReference": "@loopback/context!BindingKey:class"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "Context",
                      "canonicalReference": "@loopback/context!Context:class"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "CONTEXT",
                  "variableTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "@loopback/rest!RestBindings.Http.REQUEST:var",
                  "docComment": "/**\n * Binding key for setting and injecting the http request\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "REQUEST: "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey",
                      "canonicalReference": "@loopback/context!BindingKey:class"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "Request",
                      "canonicalReference": "@types/express!~e.Request:interface"
                    },
                    {
                      "kind": "Content",
                      "text": "<import(\"express-serve-static-core\")."
                    },
                    {
                      "kind": "Reference",
                      "text": "ParamsDictionary",
                      "canonicalReference": "@types/express-serve-static-core!ParamsDictionary:interface"
                    },
                    {
                      "kind": "Content",
                      "text": ">>"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "REQUEST",
                  "variableTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 7
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "@loopback/rest!RestBindings.Http.RESPONSE:var",
                  "docComment": "/**\n * Binding key for setting and injecting the http response\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "RESPONSE: "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey",
                      "canonicalReference": "@loopback/context!BindingKey:class"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "Response",
                      "canonicalReference": "@types/express!~e.Response:interface"
                    },
                    {
                      "kind": "Content",
                      "text": "<any>>"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "RESPONSE",
                  "variableTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                }
              ]
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.HTTPS_OPTIONS:var",
              "docComment": "/**\n * Binding key for HTTPS options\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "HTTPS_OPTIONS: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "https.ServerOptions",
                  "canonicalReference": "!\"\\\"https\\\"\".ServerOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "HTTPS_OPTIONS",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.OPERATION_SPEC_CURRENT:var",
              "docComment": "/**\n * Binding key for setting and injecting an OpenAPI operation spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "OPERATION_SPEC_CURRENT: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "OPERATION_SPEC_CURRENT",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.PATH:var",
              "docComment": "/**\n * Binding key for setting and injecting the socket path of the RestServer\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PATH: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<string | undefined>"
                }
              ],
              "releaseTag": "Public",
              "name": "PATH",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.PORT:var",
              "docComment": "/**\n * Binding key for setting and injecting the port number of RestServer\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PORT: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<number>"
                }
              ],
              "releaseTag": "Public",
              "name": "PORT",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.PROTOCOL:var",
              "docComment": "/**\n * Binding key for setting and injecting the protocol of RestServer\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PROTOCOL: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "HttpProtocol",
                  "canonicalReference": "@loopback/http-server!HttpProtocol:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "PROTOCOL",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.REQUEST_BODY_PARSER_JSON:var",
              "docComment": "/**\n * Binding key for request json body parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REQUEST_BODY_PARSER_JSON: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER_JSON",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.REQUEST_BODY_PARSER_OPTIONS:var",
              "docComment": "/**\n * Binding key for request body parser options\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REQUEST_BODY_PARSER_OPTIONS: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions",
                  "canonicalReference": "@loopback/rest!RequestBodyParserOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER_OPTIONS",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.REQUEST_BODY_PARSER_RAW:var",
              "docComment": "/**\n * Binding key for request raw body parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REQUEST_BODY_PARSER_RAW: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER_RAW",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.REQUEST_BODY_PARSER_STREAM:var",
              "docComment": "/**\n * Binding key for request raw body parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REQUEST_BODY_PARSER_STREAM: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER_STREAM",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.REQUEST_BODY_PARSER_TEXT:var",
              "docComment": "/**\n * Binding key for request text body parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REQUEST_BODY_PARSER_TEXT: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER_TEXT",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.REQUEST_BODY_PARSER_URLENCODED:var",
              "docComment": "/**\n * Binding key for request urlencoded body parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REQUEST_BODY_PARSER_URLENCODED: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER_URLENCODED",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.REQUEST_BODY_PARSER:var",
              "docComment": "/**\n * Binding key for request body parser\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REQUEST_BODY_PARSER: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParser",
                  "canonicalReference": "@loopback/rest!RequestBodyParser:class"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "REQUEST_BODY_PARSER",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.ROUTER_OPTIONS:var",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ROUTER_OPTIONS: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RestRouterOptions",
                  "canonicalReference": "@loopback/rest!RestRouterOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "ROUTER_OPTIONS",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.ROUTER:var",
              "docComment": "/**\n * Internal binding key for rest router\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ROUTER: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RestRouter",
                  "canonicalReference": "@loopback/rest!RestRouter:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "ROUTER",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.ROUTES:var",
              "docComment": "/**\n * Namespace for REST routes\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ROUTES = \"routes\""
                }
              ],
              "releaseTag": "Public",
              "name": "ROUTES",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.SEQUENCE:var",
              "docComment": "/**\n * Binding key for setting and injecting a Sequence\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SEQUENCE: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "SequenceHandler",
                  "canonicalReference": "@loopback/rest!SequenceHandler:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "SEQUENCE",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Namespace",
              "canonicalReference": "@loopback/rest!RestBindings.SequenceActions:namespace",
              "docComment": "/**\n * Bindings for potential actions that could be used in a sequence\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "namespace SequenceActions "
                }
              ],
              "releaseTag": "Public",
              "name": "SequenceActions",
              "members": [
                {
                  "kind": "Variable",
                  "canonicalReference": "@loopback/rest!RestBindings.SequenceActions.FIND_ROUTE:var",
                  "docComment": "/**\n * Binding key for setting and injecting a route finding function\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "FIND_ROUTE: "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey",
                      "canonicalReference": "@loopback/context!BindingKey:class"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "FindRoute",
                      "canonicalReference": "@loopback/rest!FindRoute:type"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "FIND_ROUTE",
                  "variableTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "@loopback/rest!RestBindings.SequenceActions.INVOKE_METHOD:var",
                  "docComment": "/**\n * Binding key for setting and injecting a controller route invoking function\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "INVOKE_METHOD: "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey",
                      "canonicalReference": "@loopback/context!BindingKey:class"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "InvokeMethod",
                      "canonicalReference": "@loopback/rest!InvokeMethod:type"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "INVOKE_METHOD",
                  "variableTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "@loopback/rest!RestBindings.SequenceActions.LOG_ERROR:var",
                  "docComment": "/**\n * Binding key for setting and injecting an error logging function\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "LOG_ERROR: "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey",
                      "canonicalReference": "@loopback/context!BindingKey:class"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "LogError",
                      "canonicalReference": "@loopback/rest!LogError:type"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "LOG_ERROR",
                  "variableTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "@loopback/rest!RestBindings.SequenceActions.PARSE_PARAMS:var",
                  "docComment": "/**\n * Binding key for setting and injecting a parameter parsing function\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "PARSE_PARAMS: "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey",
                      "canonicalReference": "@loopback/context!BindingKey:class"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "ParseParams",
                      "canonicalReference": "@loopback/rest!ParseParams:type"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "PARSE_PARAMS",
                  "variableTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "@loopback/rest!RestBindings.SequenceActions.REJECT:var",
                  "docComment": "/**\n * Binding key for setting and injecting a bad response writing function\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "REJECT: "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey",
                      "canonicalReference": "@loopback/context!BindingKey:class"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "Reject",
                      "canonicalReference": "@loopback/rest!Reject:type"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "REJECT",
                  "variableTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                },
                {
                  "kind": "Variable",
                  "canonicalReference": "@loopback/rest!RestBindings.SequenceActions.SEND:var",
                  "docComment": "/**\n * Binding key for setting and injecting a response writing function\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "SEND: "
                    },
                    {
                      "kind": "Reference",
                      "text": "BindingKey",
                      "canonicalReference": "@loopback/context!BindingKey:class"
                    },
                    {
                      "kind": "Content",
                      "text": "<"
                    },
                    {
                      "kind": "Reference",
                      "text": "Send",
                      "canonicalReference": "@loopback/rest!Send:type"
                    },
                    {
                      "kind": "Content",
                      "text": ">"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "SEND",
                  "variableTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                }
              ]
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.SERVER:var",
              "docComment": "/**\n * Binding key for the server itself\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SERVER: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RestServer",
                  "canonicalReference": "@loopback/rest!RestServer:class"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "SERVER",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestBindings.URL:var",
              "docComment": "/**\n * Binding key for setting and injecting the URL of RestServer\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "URL: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                }
              ],
              "releaseTag": "Public",
              "name": "URL",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!RestComponent:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class RestComponent implements "
            },
            {
              "kind": "Reference",
              "text": "Component",
              "canonicalReference": "@loopback/core!Component:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RestComponent",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!RestComponent:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `RestComponent` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(app: "
                },
                {
                  "kind": "Reference",
                  "text": "Application",
                  "canonicalReference": "@loopback/core!Application:class"
                },
                {
                  "kind": "Content",
                  "text": ", config?: "
                },
                {
                  "kind": "Reference",
                  "text": "RestComponentConfig",
                  "canonicalReference": "@loopback/rest!RestComponentConfig:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "config",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestComponent#bindings:member",
              "docComment": "/**\n * Add built-in body parsers\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "bindings: "
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": "<import(\"./body-parsers\")."
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": "> | "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParser",
                  "canonicalReference": "@loopback/rest!RequestBodyParser:class"
                },
                {
                  "kind": "Content",
                  "text": "> | "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "InfoSpecEnhancer",
                  "canonicalReference": "@loopback/rest!InfoSpecEnhancer:class"
                },
                {
                  "kind": "Content",
                  "text": ">)[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "bindings",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 14
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestComponent#providers:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "providers: "
                },
                {
                  "kind": "Reference",
                  "text": "ProviderMap",
                  "canonicalReference": "@loopback/core!ProviderMap:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "providers",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestComponent#servers:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "servers: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        [name: string]: "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor",
                  "canonicalReference": "@loopback/context!Constructor:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Server",
                  "canonicalReference": "@loopback/core!Server:interface"
                },
                {
                  "kind": "Content",
                  "text": ">;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "servers",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 6
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!RestComponentConfig:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type RestComponentConfig = "
            },
            {
              "kind": "Reference",
              "text": "RestServerConfig",
              "canonicalReference": "@loopback/rest!RestServerConfig:type"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RestComponentConfig",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Namespace",
          "canonicalReference": "@loopback/rest!RestHttpErrors:namespace",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare namespace RestHttpErrors "
            }
          ],
          "releaseTag": "Public",
          "name": "RestHttpErrors",
          "members": [
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestHttpErrors.INVALID_REQUEST_BODY_MESSAGE:var",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "INVALID_REQUEST_BODY_MESSAGE = \"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": "Function",
              "canonicalReference": "@loopback/rest!RestHttpErrors.invalidData:function(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "function invalidData<T, Props extends "
                },
                {
                  "kind": "Content",
                  "text": "object "
                },
                {
                  "kind": "Content",
                  "text": "= "
                },
                {
                  "kind": "Content",
                  "text": "{}"
                },
                {
                  "kind": "Content",
                  "text": ">(data: "
                },
                {
                  "kind": "Content",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ", name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", extraProperties?: "
                },
                {
                  "kind": "Content",
                  "text": "Props"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpErrors.HttpError",
                  "canonicalReference": "@types/http-errors!~createHttpError.HttpError:interface"
                },
                {
                  "kind": "Content",
                  "text": " & Props"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 11,
                "endIndex": 13
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "data",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "extraProperties",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                },
                {
                  "typeParameterName": "Props",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "invalidData"
            },
            {
              "kind": "Function",
              "canonicalReference": "@loopback/rest!RestHttpErrors.invalidParamLocation:function(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "function invalidParamLocation(location: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpErrors.HttpError",
                  "canonicalReference": "@types/http-errors!~createHttpError.HttpError:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "location",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "invalidParamLocation"
            },
            {
              "kind": "Function",
              "canonicalReference": "@loopback/rest!RestHttpErrors.invalidRequestBody:function(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "function invalidRequestBody(): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpErrors.HttpError",
                  "canonicalReference": "@types/http-errors!~createHttpError.HttpError:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "invalidRequestBody"
            },
            {
              "kind": "Function",
              "canonicalReference": "@loopback/rest!RestHttpErrors.missingRequired:function(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "function missingRequired(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpErrors.HttpError",
                  "canonicalReference": "@types/http-errors!~createHttpError.HttpError:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "missingRequired"
            },
            {
              "kind": "Function",
              "canonicalReference": "@loopback/rest!RestHttpErrors.unsupportedMediaType:function(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "function unsupportedMediaType(contentType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", allowedTypes?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpErrors.HttpError",
                  "canonicalReference": "@types/http-errors!~createHttpError.HttpError:interface"
                },
                {
                  "kind": "Content",
                  "text": " & {\n        code: string;\n        contentType: string;\n        allowedMediaTypes: string[];\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "contentType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "allowedTypes",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "unsupportedMediaType"
            },
            {
              "kind": "Interface",
              "canonicalReference": "@loopback/rest!RestHttpErrors.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 ValidationErrorDetails "
                }
              ],
              "releaseTag": "Public",
              "name": "ValidationErrorDetails",
              "members": [
                {
                  "kind": "PropertySignature",
                  "canonicalReference": "@loopback/rest!RestHttpErrors.ValidationErrorDetails#code:member",
                  "docComment": "/**\n * A single word code represents the error's type.\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "code: "
                    },
                    {
                      "kind": "Content",
                      "text": "string"
                    },
                    {
                      "kind": "Content",
                      "text": ";"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "code",
                  "propertyTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "kind": "PropertySignature",
                  "canonicalReference": "@loopback/rest!RestHttpErrors.ValidationErrorDetails#info:member",
                  "docComment": "/**\n * Some additional details that the 3 attributes above don't cover.\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "info: "
                    },
                    {
                      "kind": "Content",
                      "text": "object"
                    },
                    {
                      "kind": "Content",
                      "text": ";"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "info",
                  "propertyTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "kind": "PropertySignature",
                  "canonicalReference": "@loopback/rest!RestHttpErrors.ValidationErrorDetails#message:member",
                  "docComment": "/**\n * A human readable description of the error.\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "message: "
                    },
                    {
                      "kind": "Content",
                      "text": "string"
                    },
                    {
                      "kind": "Content",
                      "text": ";"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "message",
                  "propertyTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "kind": "PropertySignature",
                  "canonicalReference": "@loopback/rest!RestHttpErrors.ValidationErrorDetails#path:member",
                  "docComment": "/**\n * A path to the invalid field.\n */\n",
                  "excerptTokens": [
                    {
                      "kind": "Content",
                      "text": "path: "
                    },
                    {
                      "kind": "Content",
                      "text": "string"
                    },
                    {
                      "kind": "Content",
                      "text": ";"
                    }
                  ],
                  "releaseTag": "Public",
                  "name": "path",
                  "propertyTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "extendsTokenRanges": []
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!RestRouter:interface",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface RestRouter "
            }
          ],
          "releaseTag": "Public",
          "name": "RestRouter",
          "members": [
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/rest!RestRouter#add:member(1)",
              "docComment": "/**\n * Add a route to the router\n *\n * @param route - A route entry\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "add(route: "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry",
                  "canonicalReference": "@loopback/rest!RouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "add"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/rest!RestRouter#find:member(1)",
              "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": "Content",
                  "text": "find(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute",
                  "canonicalReference": "@loopback/rest!ResolvedRoute:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "find"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/rest!RestRouter#list:member(1)",
              "docComment": "/**\n * List all routes\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "list(): "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry",
                  "canonicalReference": "@loopback/rest!RouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "list"
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!RestRouterOptions:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type RestRouterOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    strict?: boolean;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RestRouterOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!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 RestServer extends "
            },
            {
              "kind": "Reference",
              "text": "Context",
              "canonicalReference": "@loopback/context!Context:class"
            },
            {
              "kind": "Content",
              "text": " "
            },
            {
              "kind": "Content",
              "text": "implements "
            },
            {
              "kind": "Reference",
              "text": "Server",
              "canonicalReference": "@loopback/core!Server:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "HttpServerLike",
              "canonicalReference": "@loopback/rest!HttpServerLike:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RestServer",
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#_applyExpressSettings:member(1)",
              "docComment": "/**\n * Apply express settings.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _applyExpressSettings(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "_applyExpressSettings"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestServer#_expressApp:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _expressApp: "
                },
                {
                  "kind": "Reference",
                  "text": "express.Application",
                  "canonicalReference": "@types/express!~e.Application:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_expressApp",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#_handleHttpRequest:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _handleHttpRequest(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": ", response: "
                },
                {
                  "kind": "Reference",
                  "text": "Response",
                  "canonicalReference": "@types/express!~e.Response:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "response",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "_handleHttpRequest"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestServer#_httpHandler:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _httpHandler: "
                },
                {
                  "kind": "Reference",
                  "text": "HttpHandler",
                  "canonicalReference": "@loopback/rest!HttpHandler:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_httpHandler",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestServer#_httpServer:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _httpServer: "
                },
                {
                  "kind": "Reference",
                  "text": "HttpServer",
                  "canonicalReference": "@loopback/http-server!HttpServer:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_httpServer",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestServer#_OASEnhancer:member",
              "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 _OASEnhancer: "
                },
                {
                  "kind": "Reference",
                  "text": "OASEnhancerService",
                  "canonicalReference": "@loopback/openapi-v3!OASEnhancerService:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_OASEnhancer",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestServer#_requestHandler:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _requestHandler: "
                },
                {
                  "kind": "Reference",
                  "text": "HttpRequestListener",
                  "canonicalReference": "@loopback/rest!HttpRequestListener:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_requestHandler",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#_setupHandlerIfNeeded:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _setupHandlerIfNeeded(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "_setupHandlerIfNeeded"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#_setupOASEnhancerIfNeeded:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _setupOASEnhancerIfNeeded(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "_setupOASEnhancerIfNeeded"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#_setupOpenApiSpecEndpoints:member(1)",
              "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 _setupOpenApiSpecEndpoints(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "_setupOpenApiSpecEndpoints"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#_setupRequestHandlerIfNeeded:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _setupRequestHandlerIfNeeded(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "_setupRequestHandlerIfNeeded"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#_unexpectedErrorHandler:member(1)",
              "docComment": "/**\n * Get an Express handler for unexpected errors\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _unexpectedErrorHandler(): "
                },
                {
                  "kind": "Reference",
                  "text": "ErrorRequestHandler",
                  "canonicalReference": "@types/express!~e.ErrorRequestHandler:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "_unexpectedErrorHandler"
            },
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!RestServer:constructor(1)",
              "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(app: "
                },
                {
                  "kind": "Reference",
                  "text": "Application",
                  "canonicalReference": "@loopback/core!Application:class"
                },
                {
                  "kind": "Content",
                  "text": ", config?: "
                },
                {
                  "kind": "Reference",
                  "text": "RestServerConfig",
                  "canonicalReference": "@loopback/rest!RestServerConfig:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "config",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#addOpenApiSpecEndpoint:member(1)",
              "docComment": "/**\n * Add a new non-controller endpoint hosting a form of the OpenAPI spec.\n *\n * @param  - path Path at which to host the copy of the OpenAPI\n *\n * @param  - form Form that should be renedered from that path\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "addOpenApiSpecEndpoint(path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", form: "
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpecForm",
                  "canonicalReference": "@loopback/rest!OpenApiSpecForm:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "form",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "addOpenApiSpecEndpoint"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#api:member(1)",
              "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": "Content",
                  "text": "api(spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpec",
                  "canonicalReference": "@loopback/openapi-v3!OpenApiSpec:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "api"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#basePath:member(1)",
              "docComment": "/**\n * Configure the `basePath` for the rest server\n *\n * @param path - Base path\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "basePath(path?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "basePath"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#bodyParser:member(1)",
              "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": "Content",
                  "text": "bodyParser(bodyParserClass: "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor",
                  "canonicalReference": "@loopback/context!Constructor:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", address?: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingAddress",
                  "canonicalReference": "@loopback/context!BindingAddress:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BodyParser",
                  "canonicalReference": "@loopback/rest!BodyParser:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 11,
                "endIndex": 15
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "bodyParserClass",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "address",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 10
                  }
                }
              ],
              "name": "bodyParser"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestServer#config:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly config: "
                },
                {
                  "kind": "Reference",
                  "text": "RestServerResolvedConfig",
                  "canonicalReference": "@loopback/rest!RestServerResolvedConfig:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "config",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#controller:member(1)",
              "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": "Content",
                  "text": "controller(controllerCtor: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass",
                  "canonicalReference": "@loopback/rest!ControllerClass:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ControllerInstance",
                  "canonicalReference": "@loopback/rest!ControllerInstance:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "controllerCtor",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                }
              ],
              "name": "controller"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#getApiSpec:member(1)",
              "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 * If the optional `requestContext` is provided, then the `servers` list in the returned spec will be updated to work in that context. Specifically: 1. if `config.openApi.setServersFromRequest` is enabled, the servers list will be replaced with the context base url 2. Any `servers` entries with a path of `/` will have that path replaced with `requestContext.basePath`\n *\n * @param requestContext - Optional context to update the `servers` list in the returned spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getApiSpec(requestContext?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestContext",
                  "canonicalReference": "@loopback/rest!RequestContext:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpec",
                  "canonicalReference": "@loopback/openapi-v3!OpenApiSpec:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "getApiSpec"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#handler:member(1)",
              "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": "Content",
                  "text": "handler(handlerFn: "
                },
                {
                  "kind": "Reference",
                  "text": "SequenceFunction",
                  "canonicalReference": "@loopback/rest!SequenceFunction:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "handlerFn",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "handler"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestServer#httpHandler:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected get httpHandler(): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpHandler",
                  "canonicalReference": "@loopback/rest!HttpHandler:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "httpHandler",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestServer#listening:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get listening(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "listening",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#mountExpressRouter:member(1)",
              "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": "Content",
                  "text": "mountExpressRouter(basePath: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", router: "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressRequestHandler",
                  "canonicalReference": "@loopback/rest!ExpressRequestHandler:type"
                },
                {
                  "kind": "Content",
                  "text": ", spec?: "
                },
                {
                  "kind": "Reference",
                  "text": "RouterSpec",
                  "canonicalReference": "@loopback/rest!RouterSpec:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "basePath",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "router",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "mountExpressRouter"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestServer#OASEnhancer:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get OASEnhancer(): "
                },
                {
                  "kind": "Reference",
                  "text": "OASEnhancerService",
                  "canonicalReference": "@loopback/openapi-v3!OASEnhancerService:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "OASEnhancer",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#redirect:member(1)",
              "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": "Content",
                  "text": "redirect(fromPath: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", toPathOrUrl: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", statusCode?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "fromPath",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "toPathOrUrl",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "statusCode",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "redirect"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestServer#requestHandler:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get requestHandler(): "
                },
                {
                  "kind": "Reference",
                  "text": "HttpRequestListener",
                  "canonicalReference": "@loopback/rest!HttpRequestListener:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "requestHandler",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestServer#rootUrl:member",
              "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": "get rootUrl(): "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "rootUrl",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#route:member(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": "Content",
                  "text": "route<I>(verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ", controllerCtor: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass",
                  "canonicalReference": "@loopback/rest!ControllerClass:type"
                },
                {
                  "kind": "Content",
                  "text": "<I>"
                },
                {
                  "kind": "Content",
                  "text": ", controllerFactory: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerFactory",
                  "canonicalReference": "@loopback/rest!ControllerFactory:type"
                },
                {
                  "kind": "Content",
                  "text": "<I>"
                },
                {
                  "kind": "Content",
                  "text": ", methodName: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 15,
                "endIndex": 16
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "controllerCtor",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "controllerFactory",
                  "parameterTypeTokenRange": {
                    "startIndex": 10,
                    "endIndex": 12
                  }
                },
                {
                  "parameterName": "methodName",
                  "parameterTypeTokenRange": {
                    "startIndex": 13,
                    "endIndex": 14
                  }
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "I",
                  "constraintTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#route:member(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": "Content",
                  "text": "route(verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ", handler: "
                },
                {
                  "kind": "Reference",
                  "text": "Function",
                  "canonicalReference": "!Function:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "handler",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#route:member(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": "Content",
                  "text": "route(route: "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry",
                  "canonicalReference": "@loopback/rest!RouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 3,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "route"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#sequence:member(1)",
              "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": "Content",
                  "text": "sequence(value: "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor",
                  "canonicalReference": "@loopback/context!Constructor:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "SequenceHandler",
                  "canonicalReference": "@loopback/rest!SequenceHandler:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                }
              ],
              "name": "sequence"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#start:member(1)",
              "docComment": "/**\n * Start this REST API's HTTP/HTTPS server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "start(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "start"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#static:member(1)",
              "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": "Content",
                  "text": "static(path: "
                },
                {
                  "kind": "Reference",
                  "text": "PathParams",
                  "canonicalReference": "@types/express-serve-static-core!PathParams:type"
                },
                {
                  "kind": "Content",
                  "text": ", rootDir: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", options?: "
                },
                {
                  "kind": "Reference",
                  "text": "ServeStaticOptions",
                  "canonicalReference": "@types/serve-static!~serveStatic.ServeStaticOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "rootDir",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "static"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RestServer#stop:member(1)",
              "docComment": "/**\n * Stop this REST API's HTTP/HTTPS server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "stop(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "stop"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RestServer#url:member",
              "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": "get url(): "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "url",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": [
            {
              "startIndex": 4,
              "endIndex": 5
            },
            {
              "startIndex": 6,
              "endIndex": 8
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!RestServerConfig:type",
          "docComment": "/**\n * Valid configuration for the RestServer constructor.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type RestServerConfig = "
            },
            {
              "kind": "Reference",
              "text": "RestServerOptions",
              "canonicalReference": "@loopback/rest!RestServerOptions:type"
            },
            {
              "kind": "Content",
              "text": " & "
            },
            {
              "kind": "Reference",
              "text": "HttpServerOptions",
              "canonicalReference": "@loopback/http-server!HttpServerOptions:type"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RestServerConfig",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!RestServerOptions:type",
          "docComment": "/**\n * RestServer options\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type RestServerOptions = "
            },
            {
              "kind": "Reference",
              "text": "Partial",
              "canonicalReference": "!Partial:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "RestServerResolvedOptions",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions:interface"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RestServerOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 5
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!RestServerResolvedConfig:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type RestServerResolvedConfig = "
            },
            {
              "kind": "Reference",
              "text": "RestServerResolvedOptions",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions:interface"
            },
            {
              "kind": "Content",
              "text": " & "
            },
            {
              "kind": "Reference",
              "text": "HttpServerOptions",
              "canonicalReference": "@loopback/http-server!HttpServerOptions:type"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RestServerResolvedConfig",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!RestServerResolvedOptions:interface",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface RestServerResolvedOptions "
            }
          ],
          "releaseTag": "Public",
          "name": "RestServerResolvedOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions#apiExplorer:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "apiExplorer: "
                },
                {
                  "kind": "Reference",
                  "text": "ApiExplorerOptions",
                  "canonicalReference": "@loopback/rest!ApiExplorerOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "apiExplorer",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions#basePath:member",
              "docComment": "/**\n * Base path for API/static routes\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "basePath?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "basePath",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions#cors:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "cors: "
                },
                {
                  "kind": "Reference",
                  "text": "cors.CorsOptions",
                  "canonicalReference": "@types/cors!~e.CorsOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "cors",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions#expressSettings:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "expressSettings: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        [name: string]: any;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "expressSettings",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions#listenOnStart:member",
              "docComment": "/**\n * Set this flag to `false` to not listen on connections when the REST server is started. It's useful to mount a LoopBack REST server as a route to the facade Express application. If not set, the value is default to `true`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "listenOnStart?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "listenOnStart",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions#openApiSpec:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "openApiSpec: "
                },
                {
                  "kind": "Reference",
                  "text": "OpenApiSpecOptions",
                  "canonicalReference": "@loopback/rest!OpenApiSpecOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "openApiSpec",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions#path:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "path?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "path",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions#port:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "port: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "port",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions#requestBodyParser:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "requestBodyParser?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions",
                  "canonicalReference": "@loopback/rest!RequestBodyParserOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "requestBodyParser",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions#router:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "router: "
                },
                {
                  "kind": "Reference",
                  "text": "RestRouterOptions",
                  "canonicalReference": "@loopback/rest!RestRouterOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "router",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RestServerResolvedOptions#sequence:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sequence?: "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor",
                  "canonicalReference": "@loopback/context!Constructor:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "SequenceHandler",
                  "canonicalReference": "@loopback/rest!SequenceHandler:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "sequence",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Namespace",
          "canonicalReference": "@loopback/rest!RestTags:namespace",
          "docComment": "/**\n * Binding tags for RestServer\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare namespace RestTags "
            }
          ],
          "releaseTag": "Public",
          "name": "RestTags",
          "members": [
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestTags.CONTROLLER_BINDING:var",
              "docComment": "/**\n * Binding tag for controller route bindings to represent the controller binding key\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "CONTROLLER_BINDING = \"controllerBinding\""
                }
              ],
              "releaseTag": "Public",
              "name": "CONTROLLER_BINDING",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestTags.CONTROLLER_ROUTE:var",
              "docComment": "/**\n * Binding tag to identify controller based REST routes\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "CONTROLLER_ROUTE = \"controllerRoute\""
                }
              ],
              "releaseTag": "Public",
              "name": "CONTROLLER_ROUTE",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestTags.REST_ROUTE:var",
              "docComment": "/**\n * Binding tag to identify REST routes\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REST_ROUTE = \"restRoute\""
                }
              ],
              "releaseTag": "Public",
              "name": "REST_ROUTE",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestTags.ROUTE_PATH:var",
              "docComment": "/**\n * Binding tag for the REST route path\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ROUTE_PATH = \"restRoutePath\""
                }
              ],
              "releaseTag": "Public",
              "name": "ROUTE_PATH",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/rest!RestTags.ROUTE_VERB:var",
              "docComment": "/**\n * Binding tag for the REST route verb\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ROUTE_VERB = \"restRouteVerb\""
                }
              ],
              "releaseTag": "Public",
              "name": "ROUTE_VERB",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!Route:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class Route extends "
            },
            {
              "kind": "Reference",
              "text": "BaseRoute",
              "canonicalReference": "@loopback/rest!BaseRoute:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "Route",
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!Route#_handler:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected readonly _handler: "
                },
                {
                  "kind": "Reference",
                  "text": "Function",
                  "canonicalReference": "!Function:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_handler",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!Route:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Route` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ", _handler: "
                },
                {
                  "kind": "Reference",
                  "text": "Function",
                  "canonicalReference": "!Function:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "_handler",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!Route#describe:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "describe(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "describe"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!Route#invokeHandler:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "invokeHandler(requestContext: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ", args: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs",
                  "canonicalReference": "@loopback/rest!OperationArgs:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationRetval",
                  "canonicalReference": "@loopback/rest!OperationRetval:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "args",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "invokeHandler"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!Route#spec:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "spec",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!Route#updateBindings:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "updateBindings(requestContext: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "updateBindings"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!RouteEntry:interface",
          "docComment": "/**\n * An entry in the routing table\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface RouteEntry "
            }
          ],
          "releaseTag": "Public",
          "name": "RouteEntry",
          "members": [
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/rest!RouteEntry#describe:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "describe(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "describe"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/rest!RouteEntry#invokeHandler:member(1)",
              "docComment": "/**\n * A handler to invoke the resolved controller method\n *\n * @param  - requestContext\n *\n * @param  - args\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "invokeHandler(requestContext: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ", args: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationArgs",
                  "canonicalReference": "@loopback/rest!OperationArgs:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "OperationRetval",
                  "canonicalReference": "@loopback/rest!OperationRetval:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "args",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "invokeHandler"
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RouteEntry#path:member",
              "docComment": "/**\n * http path\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "path",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RouteEntry#spec:member",
              "docComment": "/**\n * OpenAPI operation spec\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly spec: "
                },
                {
                  "kind": "Reference",
                  "text": "OperationObject",
                  "canonicalReference": "openapi3-ts!OperationObject:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "spec",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/rest!RouteEntry#updateBindings:member(1)",
              "docComment": "/**\n * Update bindings for the request context\n *\n * @param  - requestContext\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "updateBindings(requestContext: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "requestContext",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "updateBindings"
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/rest!RouteEntry#verb:member",
              "docComment": "/**\n * http verb\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "verb",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!RouterSpec:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type RouterSpec = "
            },
            {
              "kind": "Reference",
              "text": "Pick",
              "canonicalReference": "!Pick:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "OpenApiSpec",
              "canonicalReference": "@loopback/openapi-v3!OpenApiSpec:type"
            },
            {
              "kind": "Content",
              "text": ", 'paths' | 'components' | 'tags'>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "RouterSpec",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 5
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!RouteSource:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class RouteSource implements "
            },
            {
              "kind": "Reference",
              "text": "InvocationSource",
              "canonicalReference": "@loopback/context!InvocationSource:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "RouteEntry",
              "canonicalReference": "@loopback/rest!RouteEntry:interface"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "RouteSource",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!RouteSource:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `RouteSource` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(value: "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry",
                  "canonicalReference": "@loopback/rest!RouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RouteSource#toString:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "toString"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RouteSource#type:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "type: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!RouteSource#value:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly value: "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry",
                  "canonicalReference": "@loopback/rest!RouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "value",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!RoutingTable:class",
          "docComment": "/**\n * Routing table\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class RoutingTable "
            }
          ],
          "releaseTag": "Public",
          "name": "RoutingTable",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!RoutingTable:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `RoutingTable` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(_router?: "
                },
                {
                  "kind": "Reference",
                  "text": "RestRouter",
                  "canonicalReference": "@loopback/rest!RestRouter:interface"
                },
                {
                  "kind": "Content",
                  "text": ", _externalRoutes?: "
                },
                {
                  "kind": "Reference",
                  "text": "ExternalExpressRoutes",
                  "canonicalReference": "@loopback/rest!ExternalExpressRoutes:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "_router",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "_externalRoutes",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 5
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RoutingTable#describeApiPaths:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "describeApiPaths(): "
                },
                {
                  "kind": "Reference",
                  "text": "PathObject",
                  "canonicalReference": "openapi3-ts!PathObject:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "describeApiPaths"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RoutingTable#find:member(1)",
              "docComment": "/**\n * Map a request to a route\n *\n * @param  - request\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "find(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute",
                  "canonicalReference": "@loopback/rest!ResolvedRoute:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "find"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RoutingTable#registerController:member(1)",
              "docComment": "/**\n * Register a controller as the route\n *\n * @param  - spec\n *\n * @param  - controllerCtor\n *\n * @param  - controllerFactory\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "registerController<T>(spec: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerSpec",
                  "canonicalReference": "@loopback/openapi-v3!ControllerSpec:interface"
                },
                {
                  "kind": "Content",
                  "text": ", controllerCtor: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerClass",
                  "canonicalReference": "@loopback/rest!ControllerClass:type"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": ", controllerFactory?: "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerFactory",
                  "canonicalReference": "@loopback/rest!ControllerFactory:type"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "controllerCtor",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "controllerFactory",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 8
                  }
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "name": "registerController"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!RoutingTable#registerRoute:member(1)",
              "docComment": "/**\n * Register a route\n *\n * @param route - A route entry\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "registerRoute(route: "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry",
                  "canonicalReference": "@loopback/rest!RouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "registerRoute"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!sanitizeJsonParse:function(1)",
          "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 sanitizeJsonParse(reviver?: "
            },
            {
              "kind": "Content",
              "text": "(key: any, value: any) => any"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "(key: string, value: any) => any"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "reviver",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "sanitizeJsonParse"
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!SchemaValidatorCache:type",
          "docComment": "/**\n * Cache for AJV schema validators\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type SchemaValidatorCache = "
            },
            {
              "kind": "Reference",
              "text": "WeakMap",
              "canonicalReference": "!WeakMap:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "SchemaObject",
              "canonicalReference": "openapi3-ts!SchemaObject:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "ReferenceObject",
              "canonicalReference": "openapi3-ts!ReferenceObject:interface"
            },
            {
              "kind": "Content",
              "text": ", // First keyed by schema object\n"
            },
            {
              "kind": "Reference",
              "text": "Map",
              "canonicalReference": "!Map:interface"
            },
            {
              "kind": "Content",
              "text": "<string, "
            },
            {
              "kind": "Reference",
              "text": "ajv.ValidateFunction",
              "canonicalReference": "ajv!~ajv.ValidateFunction:interface"
            },
            {
              "kind": "Content",
              "text": ">>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "SchemaValidatorCache",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 11
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!Send:type",
          "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 Send = "
            },
            {
              "kind": "Content",
              "text": "(response: "
            },
            {
              "kind": "Reference",
              "text": "Response",
              "canonicalReference": "@types/express!~e.Response:interface"
            },
            {
              "kind": "Content",
              "text": ", result: "
            },
            {
              "kind": "Reference",
              "text": "OperationRetval",
              "canonicalReference": "@loopback/rest!OperationRetval:type"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "Send",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!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 SendProvider implements "
            },
            {
              "kind": "Reference",
              "text": "Provider",
              "canonicalReference": "@loopback/context!Provider:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "BoundValue",
              "canonicalReference": "@loopback/context!BoundValue:type"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "SendProvider",
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!SendProvider#value:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value(): "
                },
                {
                  "kind": "Content",
                  "text": "typeof "
                },
                {
                  "kind": "Reference",
                  "text": "writeResultToResponse",
                  "canonicalReference": "@loopback/rest!writeResultToResponse:function"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/rest!SequenceActions:var",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "SequenceActions: "
            },
            {
              "kind": "Content",
              "text": "typeof "
            },
            {
              "kind": "Reference",
              "text": "RestBindings.SequenceActions",
              "canonicalReference": "@loopback/rest!RestBindings.SequenceActions:namespace"
            }
          ],
          "releaseTag": "Public",
          "name": "SequenceActions",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/rest!SequenceFunction:type",
          "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 SequenceFunction = "
            },
            {
              "kind": "Content",
              "text": "(context: "
            },
            {
              "kind": "Reference",
              "text": "RequestContext",
              "canonicalReference": "@loopback/rest!RequestContext:class"
            },
            {
              "kind": "Content",
              "text": ", sequence: "
            },
            {
              "kind": "Reference",
              "text": "DefaultSequence",
              "canonicalReference": "@loopback/rest!DefaultSequence:class"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<void> | void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "SequenceFunction",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 8
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/rest!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 SequenceHandler "
            }
          ],
          "releaseTag": "Public",
          "name": "SequenceHandler",
          "members": [
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/rest!SequenceHandler#handle:member(1)",
              "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": "Content",
                  "text": "handle(context: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestContext",
                  "canonicalReference": "@loopback/rest!RequestContext:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "handle"
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!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 StreamBodyParser implements "
            },
            {
              "kind": "Reference",
              "text": "BodyParser",
              "canonicalReference": "@loopback/rest!BodyParser:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "StreamBodyParser",
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!StreamBodyParser#name:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name: "
                },
                {
                  "kind": "Content",
                  "text": "symbol"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!StreamBodyParser#parse:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "parse(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody",
                  "canonicalReference": "@loopback/rest!RequestBody:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "parse"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!StreamBodyParser#supports:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "supports(mediaType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "mediaType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "supports"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!TextBodyParser:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class TextBodyParser implements "
            },
            {
              "kind": "Reference",
              "text": "BodyParser",
              "canonicalReference": "@loopback/rest!BodyParser:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "TextBodyParser",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!TextBodyParser:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `TextBodyParser` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions",
                  "canonicalReference": "@loopback/rest!RequestBodyParserOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!TextBodyParser#name:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name: "
                },
                {
                  "kind": "Content",
                  "text": "symbol"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!TextBodyParser#parse:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "parse(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody",
                  "canonicalReference": "@loopback/rest!RequestBody:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "parse"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!TextBodyParser#supports:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "supports(mediaType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "mediaType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "supports"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!toExpressPath:function(1)",
          "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 toExpressPath(path: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "toExpressPath"
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!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 Trie<T> "
            }
          ],
          "releaseTag": "Public",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "Trie",
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!Trie#create:member(1)",
              "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": "Content",
                  "text": "create(routeTemplate: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", value: "
                },
                {
                  "kind": "Content",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Node",
                  "canonicalReference": "@loopback/rest!Node:interface"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "routeTemplate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "create"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!Trie#list:member(1)",
              "docComment": "/**\n * List all nodes with value of the trie\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "list(): "
                },
                {
                  "kind": "Reference",
                  "text": "NodeWithValue",
                  "canonicalReference": "@loopback/rest!NodeWithValue:type"
                },
                {
                  "kind": "Content",
                  "text": "<T>[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "list"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!Trie#match:member(1)",
              "docComment": "/**\n * Match a route path against the trie\n *\n * @param path - The route path, such as `/customers/c01`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "match(path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedNode",
                  "canonicalReference": "@loopback/rest!ResolvedNode:interface"
                },
                {
                  "kind": "Content",
                  "text": "<T> & {\n        node: "
                },
                {
                  "kind": "Reference",
                  "text": "NodeWithValue",
                  "canonicalReference": "@loopback/rest!NodeWithValue:type"
                },
                {
                  "kind": "Content",
                  "text": "<T>;\n    }) | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "match"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!Trie#root:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly root: "
                },
                {
                  "kind": "Reference",
                  "text": "Node",
                  "canonicalReference": "@loopback/rest!Node:interface"
                },
                {
                  "kind": "Content",
                  "text": "<T>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "root",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!TrieRouter:class",
          "docComment": "/**\n * Router implementation based on trie\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class TrieRouter extends "
            },
            {
              "kind": "Reference",
              "text": "BaseRouter",
              "canonicalReference": "@loopback/rest!BaseRouter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "TrieRouter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!TrieRouter:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `TrieRouter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options?: "
                },
                {
                  "kind": "Reference",
                  "text": "RestRouterOptions",
                  "canonicalReference": "@loopback/rest!RestRouterOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!TrieRouter#addRouteWithPathVars:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected addRouteWithPathVars(route: "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry",
                  "canonicalReference": "@loopback/rest!RouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "addRouteWithPathVars"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!TrieRouter#findRouteWithPathVars:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected findRouteWithPathVars(verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "import(\"./route-entry\")."
                },
                {
                  "kind": "Reference",
                  "text": "ResolvedRoute",
                  "canonicalReference": "@loopback/rest!ResolvedRoute:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "findRouteWithPathVars"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!TrieRouter#listRoutesWithPathVars:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected listRoutesWithPathVars(): "
                },
                {
                  "kind": "Reference",
                  "text": "RouteEntry",
                  "canonicalReference": "@loopback/rest!RouteEntry:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "listRoutesWithPathVars"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/rest!UrlEncodedBodyParser:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class UrlEncodedBodyParser implements "
            },
            {
              "kind": "Reference",
              "text": "BodyParser",
              "canonicalReference": "@loopback/rest!BodyParser:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "UrlEncodedBodyParser",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/rest!UrlEncodedBodyParser:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `UrlEncodedBodyParser` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options?: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyParserOptions",
                  "canonicalReference": "@loopback/rest!RequestBodyParserOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/rest!UrlEncodedBodyParser#name:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name: "
                },
                {
                  "kind": "Content",
                  "text": "symbol"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!UrlEncodedBodyParser#parse:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "parse(request: "
                },
                {
                  "kind": "Reference",
                  "text": "Request",
                  "canonicalReference": "@types/express!~e.Request:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RequestBody",
                  "canonicalReference": "@loopback/rest!RequestBody:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "request",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "parse"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/rest!UrlEncodedBodyParser#supports:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "supports(mediaType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "mediaType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "supports"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!validateApiPath:function(1)",
          "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 validateApiPath(path?: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "path",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "validateApiPath"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!validateRequestBody:function(1)",
          "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 validateRequestBody(body: "
            },
            {
              "kind": "Reference",
              "text": "RequestBody",
              "canonicalReference": "@loopback/rest!RequestBody:type"
            },
            {
              "kind": "Content",
              "text": ", requestBodySpec?: "
            },
            {
              "kind": "Reference",
              "text": "RequestBodyObject",
              "canonicalReference": "openapi3-ts!RequestBodyObject:interface"
            },
            {
              "kind": "Content",
              "text": ", globalSchemas?: "
            },
            {
              "kind": "Reference",
              "text": "SchemasObject",
              "canonicalReference": "openapi3-ts!SchemasObject:interface"
            },
            {
              "kind": "Content",
              "text": ", options?: "
            },
            {
              "kind": "Reference",
              "text": "RequestBodyValidationOptions",
              "canonicalReference": "@loopback/rest!RequestBodyValidationOptions:interface"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<void>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 9,
            "endIndex": 11
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "body",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "requestBodySpec",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            },
            {
              "parameterName": "globalSchemas",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              }
            }
          ],
          "name": "validateRequestBody"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/rest!writeResultToResponse:function(1)",
          "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 writeResultToResponse(response: "
            },
            {
              "kind": "Reference",
              "text": "Response",
              "canonicalReference": "@types/express!~e.Response:interface"
            },
            {
              "kind": "Content",
              "text": ", result: "
            },
            {
              "kind": "Reference",
              "text": "OperationRetval",
              "canonicalReference": "@loopback/rest!OperationRetval:type"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "response",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "result",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "writeResultToResponse"
        }
      ]
    }
  ]
}
