{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.34.4",
    "schemaVersion": 1011,
    "oldestForwardsCompatibleVersion": 1001,
    "tsdocConfig": {
      "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
      "noStandardTags": true,
      "tagDefinitions": [
        {
          "tagName": "@alpha",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@beta",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@defaultValue",
          "syntaxKind": "block"
        },
        {
          "tagName": "@decorator",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@deprecated",
          "syntaxKind": "block"
        },
        {
          "tagName": "@eventProperty",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@example",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@experimental",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@inheritDoc",
          "syntaxKind": "inline"
        },
        {
          "tagName": "@internal",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@label",
          "syntaxKind": "inline"
        },
        {
          "tagName": "@link",
          "syntaxKind": "inline",
          "allowMultiple": true
        },
        {
          "tagName": "@override",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@packageDocumentation",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@param",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@privateRemarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@public",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@readonly",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@remarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@returns",
          "syntaxKind": "block"
        },
        {
          "tagName": "@sealed",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@see",
          "syntaxKind": "block"
        },
        {
          "tagName": "@throws",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@typeParam",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@virtual",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@betaDocumentation",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@internalRemarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@preapproved",
          "syntaxKind": "modifier"
        }
      ],
      "supportForTags": {
        "@alpha": true,
        "@beta": true,
        "@defaultValue": true,
        "@decorator": true,
        "@deprecated": true,
        "@eventProperty": true,
        "@example": true,
        "@experimental": true,
        "@inheritDoc": true,
        "@internal": true,
        "@label": true,
        "@link": true,
        "@override": true,
        "@packageDocumentation": true,
        "@param": true,
        "@privateRemarks": true,
        "@public": true,
        "@readonly": true,
        "@remarks": true,
        "@returns": true,
        "@sealed": true,
        "@see": true,
        "@throws": true,
        "@typeParam": true,
        "@virtual": true,
        "@betaDocumentation": true,
        "@internalRemarks": true,
        "@preapproved": true
      },
      "reportUnsupportedHtmlElements": false
    }
  },
  "kind": "Package",
  "canonicalReference": "@well-known-components/http-server!",
  "docComment": "",
  "name": "@well-known-components/http-server",
  "preserveMemberOrder": false,
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@well-known-components/http-server!",
      "name": "",
      "preserveMemberOrder": false,
      "members": [
        {
          "kind": "TypeAlias",
          "canonicalReference": "@well-known-components/http-server!AllowedMethodOptions:type",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type AllowedMethodOptions = "
            },
            {
              "kind": "Reference",
              "text": "Partial",
              "canonicalReference": "!Partial:type"
            },
            {
              "kind": "Content",
              "text": "<{\n    throw: boolean;\n    notImplemented: "
            },
            {
              "kind": "Reference",
              "text": "NewableFunction",
              "canonicalReference": "!NewableFunction:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    methodNotAllowed: "
            },
            {
              "kind": "Reference",
              "text": "NewableFunction",
              "canonicalReference": "!NewableFunction:interface"
            },
            {
              "kind": "Content",
              "text": ";\n}>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/router.d.ts",
          "releaseTag": "Public",
          "name": "AllowedMethodOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 7
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@well-known-components/http-server!createServerComponent:function(1)",
          "docComment": "/**\n * Creates a http-server component\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function createServerComponent<Context extends "
            },
            {
              "kind": "Content",
              "text": "object"
            },
            {
              "kind": "Content",
              "text": ">(components: "
            },
            {
              "kind": "Reference",
              "text": "ServerComponents",
              "canonicalReference": "@well-known-components/http-server!ServerComponents:type"
            },
            {
              "kind": "Content",
              "text": ", options: "
            },
            {
              "kind": "Reference",
              "text": "Partial",
              "canonicalReference": "!Partial:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "IHttpServerOptions",
              "canonicalReference": "@well-known-components/http-server!IHttpServerOptions:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "FullHttpServerComponent",
              "canonicalReference": "@well-known-components/http-server!FullHttpServerComponent:type"
            },
            {
              "kind": "Content",
              "text": "<Context>>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/server.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 10,
            "endIndex": 14
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "components",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isOptional": false
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              },
              "isOptional": false
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "Context",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "createServerComponent"
        },
        {
          "kind": "Function",
          "canonicalReference": "@well-known-components/http-server!createStatusCheckComponent:function(1)",
          "docComment": "/**\n * Binds status checks to the server - GET /health/ready - readyness probe - GET /health/startup - startup probe - GET /health/live - liveness probe\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function createStatusCheckComponent<Context extends "
            },
            {
              "kind": "Content",
              "text": "object"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "{}"
            },
            {
              "kind": "Content",
              "text": ">(components: "
            },
            {
              "kind": "Content",
              "text": "{\n    server: "
            },
            {
              "kind": "Reference",
              "text": "IHttpServerComponent",
              "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent:interface"
            },
            {
              "kind": "Content",
              "text": "<Context>;\n    config: "
            },
            {
              "kind": "Reference",
              "text": "IConfigComponent",
              "canonicalReference": "@well-known-components/interfaces!IConfigComponent:interface"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "IBaseComponent",
              "canonicalReference": "@well-known-components/interfaces!IBaseComponent:interface"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/status-checks.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 15
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "components",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 10
              },
              "isOptional": false
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "Context",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "createStatusCheckComponent"
        },
        {
          "kind": "Function",
          "canonicalReference": "@well-known-components/http-server!createTestServerComponent:function(1)",
          "docComment": "/**\n * Creates a http-server component for tests\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function createTestServerComponent<Context extends "
            },
            {
              "kind": "Content",
              "text": "object"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "{}"
            },
            {
              "kind": "Content",
              "text": ">(): "
            },
            {
              "kind": "Reference",
              "text": "ITestHttpServerComponent",
              "canonicalReference": "@well-known-components/http-server!ITestHttpServerComponent:type"
            },
            {
              "kind": "Content",
              "text": "<Context>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/test-component.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 7
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [],
          "typeParameters": [
            {
              "typeParameterName": "Context",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "createTestServerComponent"
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@well-known-components/http-server!FullHttpServerComponent:type",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type FullHttpServerComponent<Context extends "
            },
            {
              "kind": "Content",
              "text": "object"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Reference",
              "text": "IHttpServerComponent",
              "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent:interface"
            },
            {
              "kind": "Content",
              "text": "<Context> & "
            },
            {
              "kind": "Reference",
              "text": "IBaseComponent",
              "canonicalReference": "@well-known-components/interfaces!IBaseComponent:interface"
            },
            {
              "kind": "Content",
              "text": " & "
            },
            {
              "kind": "Reference",
              "text": "IStatusCheckCapableComponent",
              "canonicalReference": "@well-known-components/interfaces!IStatusCheckCapableComponent:interface"
            },
            {
              "kind": "Content",
              "text": " & {\n    resetMiddlewares(): void;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/server.d.ts",
          "releaseTag": "Public",
          "name": "FullHttpServerComponent",
          "typeParameters": [
            {
              "typeParameterName": "Context",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 9
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@well-known-components/http-server!getDefaultHttpMetrics:function(1)",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function getDefaultHttpMetrics(): "
            },
            {
              "kind": "Reference",
              "text": "IMetricsComponent.MetricsRecordDefinition",
              "canonicalReference": "@well-known-components/interfaces!IMetricsComponent.MetricsRecordDefinition:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "HttpMetrics",
              "canonicalReference": "@well-known-components/http-server!HttpMetrics:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/metrics.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 5
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [],
          "name": "getDefaultHttpMetrics"
        },
        {
          "kind": "Function",
          "canonicalReference": "@well-known-components/http-server!getUnderlyingServer:function(1)",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function getUnderlyingServer<T>(server: "
            },
            {
              "kind": "Reference",
              "text": "IHttpServerComponent",
              "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent:interface"
            },
            {
              "kind": "Content",
              "text": "<any>"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/injectors.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 4,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "server",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isOptional": false
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "getUnderlyingServer"
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@well-known-components/http-server!HttpMetrics:type",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type HttpMetrics = "
            },
            {
              "kind": "Content",
              "text": "keyof typeof "
            },
            {
              "kind": "Reference",
              "text": "metrics",
              "canonicalReference": "@well-known-components/http-server!~metrics:var"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/metrics.d.ts",
          "releaseTag": "Public",
          "name": "HttpMetrics",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@well-known-components/http-server!IHttpServerOptions:type",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type IHttpServerOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    cors?: "
            },
            {
              "kind": "Reference",
              "text": "CorsOptions",
              "canonicalReference": "@well-known-components/http-server!~CorsOptions:interface"
            },
            {
              "kind": "Content",
              "text": ";\n} & ({\n    https: "
            },
            {
              "kind": "Reference",
              "text": "https.ServerOptions",
              "canonicalReference": "!\"\\\"https\\\"\".ServerOptions:type"
            },
            {
              "kind": "Content",
              "text": ";\n} | {\n    http: "
            },
            {
              "kind": "Reference",
              "text": "http.ServerOptions",
              "canonicalReference": "!\"\\\"http\\\"\".ServerOptions:interface"
            },
            {
              "kind": "Content",
              "text": ";\n})"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/types.d.ts",
          "releaseTag": "Public",
          "name": "IHttpServerOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 8
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@well-known-components/http-server!instrumentHttpServerWithPromClientRegistry:function(1)",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function instrumentHttpServerWithPromClientRegistry<K extends "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ">(options: "
            },
            {
              "kind": "Content",
              "text": "{\n    server: "
            },
            {
              "kind": "Reference",
              "text": "IHttpServerComponent",
              "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "IHttpServerComponent.DefaultContext",
              "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.DefaultContext:type"
            },
            {
              "kind": "Content",
              "text": "<any>>;\n    config: "
            },
            {
              "kind": "Reference",
              "text": "IConfigComponent",
              "canonicalReference": "@well-known-components/interfaces!IConfigComponent:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    metrics: "
            },
            {
              "kind": "Reference",
              "text": "IMetricsComponent",
              "canonicalReference": "@well-known-components/http-server!~IMetricsComponent"
            },
            {
              "kind": "Content",
              "text": "<K | "
            },
            {
              "kind": "Reference",
              "text": "HttpMetrics",
              "canonicalReference": "@well-known-components/http-server!HttpMetrics:type"
            },
            {
              "kind": "Content",
              "text": ">;\n    registry: "
            },
            {
              "kind": "Reference",
              "text": "IMetricsComponent.Registry",
              "canonicalReference": "@well-known-components/interfaces!IMetricsComponent.Registry:type"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<void>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/metrics.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 17,
            "endIndex": 19
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 16
              },
              "isOptional": false
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "K",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "instrumentHttpServerWithPromClientRegistry"
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@well-known-components/http-server!ITestHttpServerComponent:type",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type ITestHttpServerComponent<Context extends "
            },
            {
              "kind": "Content",
              "text": "object"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Reference",
              "text": "IHttpServerComponent",
              "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent:interface"
            },
            {
              "kind": "Content",
              "text": "<Context> & "
            },
            {
              "kind": "Reference",
              "text": "IFetchComponent",
              "canonicalReference": "@well-known-components/interfaces!IFetchComponent:type"
            },
            {
              "kind": "Content",
              "text": " & {\n    resetMiddlewares(): void;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/test-component.d.ts",
          "releaseTag": "Public",
          "name": "ITestHttpServerComponent",
          "typeParameters": [
            {
              "typeParameterName": "Context",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 7
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@well-known-components/http-server!RoutedContext:type",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type RoutedContext<Context, Path extends "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Reference",
              "text": "IHttpServerComponent.PathAwareContext",
              "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.PathAwareContext:type"
            },
            {
              "kind": "Content",
              "text": "<Context, Path> & {\n    captures: string[];\n    matched?: "
            },
            {
              "kind": "Reference",
              "text": "Layer",
              "canonicalReference": "@well-known-components/http-server!~Layer:class"
            },
            {
              "kind": "Content",
              "text": "<Context, Path>[];\n    routerPath?: string;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/router.d.ts",
          "releaseTag": "Public",
          "name": "RoutedContext",
          "typeParameters": [
            {
              "typeParameterName": "Context",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "typeParameterName": "Path",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 7
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@well-known-components/http-server!RoutePathSignature:type",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type RoutePathSignature<Context extends "
            },
            {
              "kind": "Content",
              "text": "{}"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Content",
              "text": "<T extends string>(path: T, ...middlewares: "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "IHttpServerComponent.IRequestHandler",
              "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.IRequestHandler:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "RoutedContext",
              "canonicalReference": "@well-known-components/http-server!RoutedContext:type"
            },
            {
              "kind": "Content",
              "text": "<Context, T>>>) => "
            },
            {
              "kind": "Reference",
              "text": "Router",
              "canonicalReference": "@well-known-components/http-server!Router:class"
            },
            {
              "kind": "Content",
              "text": "<Context>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/router.d.ts",
          "releaseTag": "Public",
          "name": "RoutePathSignature",
          "typeParameters": [
            {
              "typeParameterName": "Context",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 12
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@well-known-components/http-server!Router:class",
          "docComment": "/**\n * Create a new router.\n *\n * @example\n *\n * Basic usage:\n * ```javascript\n * const app = createTestServerComponent();\n * const router = new Router();\n *\n * router.get('/', (ctx, next) => {\n *   // ctx.router available\n * });\n *\n * app\n *   .use(router.routes())\n *   .use(router.allowedMethods());\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class Router<Context extends "
            },
            {
              "kind": "Content",
              "text": "{}"
            },
            {
              "kind": "Content",
              "text": "> implements "
            },
            {
              "kind": "Reference",
              "text": "IHttpServerComponent.MethodHandlers",
              "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.MethodHandlers:type"
            },
            {
              "kind": "Content",
              "text": "<Context>"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "dist/router.d.ts",
          "releaseTag": "Public",
          "typeParameters": [
            {
              "typeParameterName": "Context",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "isAbstract": false,
          "name": "Router",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@well-known-components/http-server!Router:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Router` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(opts?: "
                },
                {
                  "kind": "Reference",
                  "text": "RouterOptions",
                  "canonicalReference": "@well-known-components/http-server!RouterOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "opts",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": true
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@well-known-components/http-server!Router#all:member(1)",
              "docComment": "/**\n * Register route with all methods.\n *\n * @param name - Optional.\n *\n * @param path - \n *\n * @param middleware - You may also pass multiple middleware.\n *\n * @param callback - \n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "all<T extends "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ">(path: "
                },
                {
                  "kind": "Content",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ", middleware: "
                },
                {
                  "kind": "Reference",
                  "text": "IHttpServerComponent.IRequestHandler",
                  "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.IRequestHandler:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RoutedContext",
                  "canonicalReference": "@well-known-components/http-server!RoutedContext:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context, T>>"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 11
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "middleware",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 9
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "all"
            },
            {
              "kind": "Method",
              "canonicalReference": "@well-known-components/http-server!Router#allowedMethods:member(1)",
              "docComment": "/**\n * Returns separate middleware for responding to `OPTIONS` requests with an `Allow` header containing the allowed methods, as well as responding with `405 Method Not Allowed` and `501 Not Implemented` as appropriate.\n *\n * @param options - \n *\n * @example\n * ```javascript\n * const app = createTestServerComponent();\n * const router = new Router();\n *\n * app.use(router.routes());\n * app.use(router.allowedMethods());\n * ```\n *\n * **Example with [Boom](https://github.com/hapijs/boom)**\n * ```javascript\n * const Boom = require('boom');\n *\n * const app = createTestServerComponent();\n * const router = new Router();\n *\n * app.use(router.routes());\n * app.use(router.allowedMethods({\n *   throw: true,\n *   notImplemented: () => new Boom.notImplemented(),\n *   methodNotAllowed: () => new Boom.methodNotAllowed()\n * }));\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "allowedMethods(options?: "
                },
                {
                  "kind": "Reference",
                  "text": "AllowedMethodOptions",
                  "canonicalReference": "@well-known-components/http-server!AllowedMethodOptions:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "IHttpServerComponent.IRequestHandler",
                  "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.IRequestHandler:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "allowedMethods"
            },
            {
              "kind": "Property",
              "canonicalReference": "@well-known-components/http-server!Router#connect:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "connect: "
                },
                {
                  "kind": "Reference",
                  "text": "RoutePathSignature",
                  "canonicalReference": "@well-known-components/http-server!RoutePathSignature:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "connect",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@well-known-components/http-server!Router#delete:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "delete: "
                },
                {
                  "kind": "Reference",
                  "text": "RoutePathSignature",
                  "canonicalReference": "@well-known-components/http-server!RoutePathSignature:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "delete",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@well-known-components/http-server!Router#get:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get: "
                },
                {
                  "kind": "Reference",
                  "text": "RoutePathSignature",
                  "canonicalReference": "@well-known-components/http-server!RoutePathSignature:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "get",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@well-known-components/http-server!Router#head:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "head: "
                },
                {
                  "kind": "Reference",
                  "text": "RoutePathSignature",
                  "canonicalReference": "@well-known-components/http-server!RoutePathSignature:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "head",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@well-known-components/http-server!Router#match:member(1)",
              "docComment": "/**\n * Match given `path` and return corresponding routes.\n *\n * @param path - \n *\n * @param method - \n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "match(path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", method: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "{\n        path: "
                },
                {
                  "kind": "Reference",
                  "text": "Layer",
                  "canonicalReference": "@well-known-components/http-server!~Layer:class"
                },
                {
                  "kind": "Content",
                  "text": "<Context, string>[];\n        pathAndMethod: "
                },
                {
                  "kind": "Reference",
                  "text": "Layer",
                  "canonicalReference": "@well-known-components/http-server!~Layer:class"
                },
                {
                  "kind": "Content",
                  "text": "<Context, string>[];\n        route: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "method",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "match"
            },
            {
              "kind": "Property",
              "canonicalReference": "@well-known-components/http-server!Router#methods:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "methods: "
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "IHttpServerComponent.HTTPMethod",
                  "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.HTTPMethod:type"
                },
                {
                  "kind": "Content",
                  "text": " | string)[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "methods",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@well-known-components/http-server!Router#middleware:member(1)",
              "docComment": "/**\n * Returns router middleware which dispatches a route matching the request.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "middleware(): "
                },
                {
                  "kind": "Reference",
                  "text": "IHttpServerComponent.IRequestHandler",
                  "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.IRequestHandler:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "middleware"
            },
            {
              "kind": "Property",
              "canonicalReference": "@well-known-components/http-server!Router#options:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "options: "
                },
                {
                  "kind": "Reference",
                  "text": "RoutePathSignature",
                  "canonicalReference": "@well-known-components/http-server!RoutePathSignature:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "options",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@well-known-components/http-server!Router#opts:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "opts: "
                },
                {
                  "kind": "Reference",
                  "text": "RouterOptions",
                  "canonicalReference": "@well-known-components/http-server!RouterOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "opts",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@well-known-components/http-server!Router#patch:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "patch: "
                },
                {
                  "kind": "Reference",
                  "text": "RoutePathSignature",
                  "canonicalReference": "@well-known-components/http-server!RoutePathSignature:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "patch",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@well-known-components/http-server!Router#post:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "post: "
                },
                {
                  "kind": "Reference",
                  "text": "RoutePathSignature",
                  "canonicalReference": "@well-known-components/http-server!RoutePathSignature:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "post",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@well-known-components/http-server!Router#prefix:member(1)",
              "docComment": "/**\n * Set the path prefix for a Router instance that was already initialized.\n *\n * @param prefix - \n *\n * @example\n * ```javascript\n * router.prefix('/things/:thing_id')\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "prefix(prefix: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "prefix",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "prefix"
            },
            {
              "kind": "Property",
              "canonicalReference": "@well-known-components/http-server!Router#put:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "put: "
                },
                {
                  "kind": "Reference",
                  "text": "RoutePathSignature",
                  "canonicalReference": "@well-known-components/http-server!RoutePathSignature:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "put",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@well-known-components/http-server!Router#redirect:member(1)",
              "docComment": "/**\n * Redirect `source` to `destination` URL with optional 30x status `code`.\n *\n * Both `source` and `destination` can be route names.\n * ```javascript\n * router.redirect('/login', 'sign-in');\n * ```\n *\n * This is equivalent to:\n * ```javascript\n * router.all('/login', ctx => {\n *   ctx.redirect('/sign-in');\n *   ctx.status = 301;\n * });\n * ```\n *\n * @param source - URL or route name.\n *\n * @param destination - URL or route name.\n *\n * @param code - HTTP status code (default: 301).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "redirect(source: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", destination: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", code?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "source",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "destination",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "code",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "redirect"
            },
            {
              "kind": "Method",
              "canonicalReference": "@well-known-components/http-server!Router#register:member(1)",
              "docComment": "/**\n * Create and register a route.\n *\n * @param path - Path string.\n *\n * @param methods - Array of HTTP verbs.\n *\n * @param middleware - Multiple middleware also accepted.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "register<Path extends "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ">(path: "
                },
                {
                  "kind": "Content",
                  "text": "Path"
                },
                {
                  "kind": "Content",
                  "text": ", methods: "
                },
                {
                  "kind": "Reference",
                  "text": "ReadonlyArray",
                  "canonicalReference": "!ReadonlyArray:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "IHttpServerComponent.HTTPMethod",
                  "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.HTTPMethod:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ", middleware: "
                },
                {
                  "kind": "Reference",
                  "text": "IHttpServerComponent.IRequestHandler",
                  "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.IRequestHandler:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context>"
                },
                {
                  "kind": "Content",
                  "text": ", opts?: "
                },
                {
                  "kind": "Reference",
                  "text": "LayerOptions",
                  "canonicalReference": "@well-known-components/http-server!~LayerOptions:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Layer",
                  "canonicalReference": "@well-known-components/http-server!~Layer:class"
                },
                {
                  "kind": "Content",
                  "text": "<Context, Path>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "Path",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 15,
                "endIndex": 17
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "methods",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 9
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "middleware",
                  "parameterTypeTokenRange": {
                    "startIndex": 10,
                    "endIndex": 12
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "opts",
                  "parameterTypeTokenRange": {
                    "startIndex": 13,
                    "endIndex": 14
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "register"
            },
            {
              "kind": "Property",
              "canonicalReference": "@well-known-components/http-server!Router#stack:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "stack: "
                },
                {
                  "kind": "Reference",
                  "text": "Layer",
                  "canonicalReference": "@well-known-components/http-server!~Layer:class"
                },
                {
                  "kind": "Content",
                  "text": "<Context, any>[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "stack",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@well-known-components/http-server!Router#trace:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "trace: "
                },
                {
                  "kind": "Reference",
                  "text": "RoutePathSignature",
                  "canonicalReference": "@well-known-components/http-server!RoutePathSignature:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "trace",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@well-known-components/http-server!Router#use:member(1)",
              "docComment": "/**\n * Use given middleware.\n *\n * Middleware run in the order they are defined by `.use()`. They are invoked sequentially, requests start at the first middleware and work their way \"down\" the middleware stack.\n *\n * @param path - \n *\n * @param middleware - \n *\n * @example\n * ```javascript\n * // session middleware will run before authorize\n * router\n *   .use(session())\n *   .use(authorize());\n *\n * // use middleware only with given path\n * router.use('/users', userAuth());\n *\n * // or with an array of paths\n * router.use(['/users', '/admin'], userAuth());\n *\n * app.use(router.routes());\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "use(...middlewares: "
                },
                {
                  "kind": "Reference",
                  "text": "IHttpServerComponent.IRequestHandler",
                  "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.IRequestHandler:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RoutedContext",
                  "canonicalReference": "@well-known-components/http-server!RoutedContext:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context, string>>[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "middlewares",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "use"
            },
            {
              "kind": "Method",
              "canonicalReference": "@well-known-components/http-server!Router#use:member(2)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "use<P extends "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ">(route: "
                },
                {
                  "kind": "Content",
                  "text": "P"
                },
                {
                  "kind": "Content",
                  "text": ", ...middlewares: "
                },
                {
                  "kind": "Reference",
                  "text": "IHttpServerComponent.IRequestHandler",
                  "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.IRequestHandler:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "RoutedContext",
                  "canonicalReference": "@well-known-components/http-server!RoutedContext:type"
                },
                {
                  "kind": "Content",
                  "text": "<Context, P>>[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "P",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 11
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "route",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "middlewares",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 9
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "use"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@well-known-components/http-server!RouterOptions:type",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type RouterOptions = "
            },
            {
              "kind": "Reference",
              "text": "Partial",
              "canonicalReference": "!Partial:type"
            },
            {
              "kind": "Content",
              "text": "<{\n    methods: "
            },
            {
              "kind": "Reference",
              "text": "IHttpServerComponent.HTTPMethod",
              "canonicalReference": "@well-known-components/interfaces!IHttpServerComponent.HTTPMethod:type"
            },
            {
              "kind": "Content",
              "text": "[];\n    prefix: string;\n    routerPath: string;\n    sensitive: boolean;\n    strict: boolean;\n}>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/router.d.ts",
          "releaseTag": "Public",
          "name": "RouterOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 5
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@well-known-components/http-server!ServerComponents:type",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type ServerComponents = "
            },
            {
              "kind": "Content",
              "text": "{\n    config: "
            },
            {
              "kind": "Reference",
              "text": "IConfigComponent",
              "canonicalReference": "@well-known-components/interfaces!IConfigComponent:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    logs: "
            },
            {
              "kind": "Reference",
              "text": "ILoggerComponent",
              "canonicalReference": "@well-known-components/interfaces!ILoggerComponent:type"
            },
            {
              "kind": "Content",
              "text": ";\n    ws?: "
            },
            {
              "kind": "Reference",
              "text": "WebSocketServer",
              "canonicalReference": "@well-known-components/http-server!WebSocketServer:interface"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/types.d.ts",
          "releaseTag": "Public",
          "name": "ServerComponents",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 8
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@well-known-components/http-server!StandardStatusResponse:type",
          "docComment": "/**\n * @beta\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type StandardStatusResponse = "
            },
            {
              "kind": "Content",
              "text": "{\n    status: \"pass\" | \"fail\" | \"warn\";\n    version?: string;\n    releaseId?: string;\n    notes?: string[];\n    output?: string;\n    serviceId?: string;\n    description?: string;\n    details: "
            },
            {
              "kind": "Reference",
              "text": "Record",
              "canonicalReference": "!Record:type"
            },
            {
              "kind": "Content",
              "text": "<string, "
            },
            {
              "kind": "Reference",
              "text": "StandardStatusResponseDetail",
              "canonicalReference": "@well-known-components/http-server!StandardStatusResponseDetail:type"
            },
            {
              "kind": "Content",
              "text": ">;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/status-checks.d.ts",
          "releaseTag": "Beta",
          "name": "StandardStatusResponse",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@well-known-components/http-server!StandardStatusResponseDetail:type",
          "docComment": "/**\n * @beta\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type StandardStatusResponseDetail = "
            },
            {
              "kind": "Content",
              "text": "{\n    status: \"pass\" | \"fail\" | \"warn\";\n    componentType?: string;\n    componentId?: string;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/status-checks.d.ts",
          "releaseTag": "Beta",
          "name": "StandardStatusResponseDetail",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        }
      ]
    }
  ]
}
