{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.7.10",
    "schemaVersion": 1003,
    "oldestForwardsCompatibleVersion": 1001
  },
  "kind": "Package",
  "canonicalReference": "@loopback/openapi-spec-builder!",
  "docComment": "",
  "name": "@loopback/openapi-spec-builder",
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@loopback/openapi-spec-builder!",
      "name": "",
      "members": [
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-spec-builder!aComponentsSpec:function(1)",
          "docComment": "/**\n * Create a new instance of ComponentsSpecBuilder.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function aComponentsSpec(): "
            },
            {
              "kind": "Reference",
              "text": "ComponentsSpecBuilder",
              "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [],
          "name": "aComponentsSpec"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-spec-builder!anOpenApiSpec:function(1)",
          "docComment": "/**\n * Create a new instance of OpenApiSpecBuilder.\n *\n * @param basePath - The base path on which the API is served.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function anOpenApiSpec(): "
            },
            {
              "kind": "Reference",
              "text": "OpenApiSpecBuilder",
              "canonicalReference": "@loopback/openapi-spec-builder!OpenApiSpecBuilder:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [],
          "name": "anOpenApiSpec"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/openapi-spec-builder!anOperationSpec:function(1)",
          "docComment": "/**\n * Create a new instance of OperationSpecBuilder.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function anOperationSpec(): "
            },
            {
              "kind": "Reference",
              "text": "OperationSpecBuilder",
              "canonicalReference": "@loopback/openapi-spec-builder!OperationSpecBuilder:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [],
          "name": "anOperationSpec"
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/openapi-spec-builder!BuilderBase:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class BuilderBase<T extends "
            },
            {
              "kind": "Reference",
              "text": "ISpecificationExtension",
              "canonicalReference": "openapi3-ts!ISpecificationExtension:interface"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "BuilderBase",
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "@loopback/openapi-spec-builder!BuilderBase#_spec:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "protected _spec: "
                },
                {
                  "kind": "Content",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "_spec",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/openapi-spec-builder!BuilderBase:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `BuilderBase` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(initialSpec: "
                },
                {
                  "kind": "Content",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "initialSpec",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!BuilderBase#build:member(1)",
              "docComment": "/**\n * Build the spec object.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "build(): "
                },
                {
                  "kind": "Content",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "build"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!BuilderBase#withExtension:member(1)",
              "docComment": "/**\n * Add a custom (extension) property to the spec object.\n *\n * @param key - The property name starting with \"x-\".\n *\n * @param value - The property value.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withExtension(key: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", value: "
                },
                {
                  "kind": "Content",
                  "text": "any"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "key",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "withExtension"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder:class",
          "docComment": "/**\n * A builder for creating ComponentsObject specifications.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class ComponentsSpecBuilder extends "
            },
            {
              "kind": "Reference",
              "text": "BuilderBase",
              "canonicalReference": "@loopback/openapi-spec-builder!BuilderBase:class"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ComponentsObject",
              "canonicalReference": "openapi3-ts!ComponentsObject:interface"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "ComponentsSpecBuilder",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `ComponentsSpecBuilder` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor();"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": []
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder#withCallback:member(1)",
              "docComment": "/**\n * Define a component callback.\n *\n * @param name - The name of the callback\n *\n * @param callback - Specification of the callback\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withCallback(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", callback: "
                },
                {
                  "kind": "Reference",
                  "text": "CallbackObject",
                  "canonicalReference": "openapi3-ts!CallbackObject:interface"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "ReferenceObject",
                  "canonicalReference": "openapi3-ts!ReferenceObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "callback",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 6
                  }
                }
              ],
              "name": "withCallback"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder#withExample:member(1)",
              "docComment": "/**\n * Define a component example.\n *\n * @param name - The name of the example\n *\n * @param example - Specification of the example\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withExample(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", example: "
                },
                {
                  "kind": "Reference",
                  "text": "ExampleObject",
                  "canonicalReference": "openapi3-ts!ExampleObject:interface"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "ReferenceObject",
                  "canonicalReference": "openapi3-ts!ReferenceObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "example",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 6
                  }
                }
              ],
              "name": "withExample"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder#withHeader:member(1)",
              "docComment": "/**\n * Define a component header.\n *\n * @param name - The name of the header\n *\n * @param header - Specification of the header\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withHeader(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", header: "
                },
                {
                  "kind": "Reference",
                  "text": "HeaderObject",
                  "canonicalReference": "openapi3-ts!HeaderObject:interface"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "ReferenceObject",
                  "canonicalReference": "openapi3-ts!ReferenceObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "header",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 6
                  }
                }
              ],
              "name": "withHeader"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder#withLink:member(1)",
              "docComment": "/**\n * Define a component link.\n *\n * @param name - The name of the link\n *\n * @param link - Specification of the link\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withLink(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", link: "
                },
                {
                  "kind": "Reference",
                  "text": "LinkObject",
                  "canonicalReference": "openapi3-ts!LinkObject:interface"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "ReferenceObject",
                  "canonicalReference": "openapi3-ts!ReferenceObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "link",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 6
                  }
                }
              ],
              "name": "withLink"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder#withParameter:member(1)",
              "docComment": "/**\n * Define a component parameter.\n *\n * @param name - The name of the parameter\n *\n * @param parameter - Specification of the parameter\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withParameter(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", parameter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject",
                  "canonicalReference": "openapi3-ts!ParameterObject:interface"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "ReferenceObject",
                  "canonicalReference": "openapi3-ts!ReferenceObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "parameter",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 6
                  }
                }
              ],
              "name": "withParameter"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder#withRequestBody:member(1)",
              "docComment": "/**\n * Define a component request body.\n *\n * @param name - The name of the request body\n *\n * @param requestBody - Specification of the request body\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withRequestBody(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", requestBody: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyObject",
                  "canonicalReference": "openapi3-ts!RequestBodyObject:interface"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "ReferenceObject",
                  "canonicalReference": "openapi3-ts!ReferenceObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "requestBody",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 6
                  }
                }
              ],
              "name": "withRequestBody"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder#withResponse:member(1)",
              "docComment": "/**\n * Define a component response.\n *\n * @param name - The name of the response\n *\n * @param response - Specification of the response\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withResponse(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", response: "
                },
                {
                  "kind": "Reference",
                  "text": "ResponseObject",
                  "canonicalReference": "openapi3-ts!ResponseObject:interface"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "ReferenceObject",
                  "canonicalReference": "openapi3-ts!ReferenceObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "response",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 6
                  }
                }
              ],
              "name": "withResponse"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder#withSchema:member(1)",
              "docComment": "/**\n * Define a component schema.\n *\n * @param name - The name of the schema\n *\n * @param schema - Specification of the schema\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withSchema(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", 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": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "schema",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 6
                  }
                }
              ],
              "name": "withSchema"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder#withSecurityScheme:member(1)",
              "docComment": "/**\n * Define a component security scheme.\n *\n * @param name - The name of the security scheme\n *\n * @param securityScheme - Specification of the security scheme\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withSecurityScheme(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", securityScheme: "
                },
                {
                  "kind": "Reference",
                  "text": "SecuritySchemeObject",
                  "canonicalReference": "openapi3-ts!SecuritySchemeObject:interface"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "ReferenceObject",
                  "canonicalReference": "openapi3-ts!ReferenceObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "securityScheme",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 6
                  }
                }
              ],
              "name": "withSecurityScheme"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 5
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/openapi-spec-builder!OpenApiSpecBuilder:class",
          "docComment": "/**\n * A builder for creating OpenApiSpec documents.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class OpenApiSpecBuilder extends "
            },
            {
              "kind": "Reference",
              "text": "BuilderBase",
              "canonicalReference": "@loopback/openapi-spec-builder!BuilderBase:class"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "OpenAPIObject",
              "canonicalReference": "openapi3-ts!OpenAPIObject:interface"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "OpenApiSpecBuilder",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/openapi-spec-builder!OpenApiSpecBuilder:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `OpenApiSpecBuilder` class\n *\n * @param basePath - The base path on which the API is served.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor();"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": []
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!OpenApiSpecBuilder#withComponents:member(1)",
              "docComment": "/**\n * Define a new ComponentsObject.\n *\n * @param spec - Specification of the components.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withComponents(spec: "
                },
                {
                  "kind": "Reference",
                  "text": "ComponentsObject",
                  "canonicalReference": "openapi3-ts!ComponentsObject:interface"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "ComponentsSpecBuilder",
                  "canonicalReference": "@loopback/openapi-spec-builder!ComponentsSpecBuilder:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "spec",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 4
                  }
                }
              ],
              "name": "withComponents"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!OpenApiSpecBuilder#withOperation:member(1)",
              "docComment": "/**\n * Define a new OperationObject at the given path and verb (method).\n *\n * @param verb - The HTTP verb.\n *\n * @param path - The path relative to basePath.\n *\n * @param spec - Additional specification of the operation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withOperation(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": " | "
                },
                {
                  "kind": "Reference",
                  "text": "OperationSpecBuilder",
                  "canonicalReference": "@loopback/openapi-spec-builder!OperationSpecBuilder:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "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": 8
                  }
                }
              ],
              "name": "withOperation"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!OpenApiSpecBuilder#withOperationReturningString:member(1)",
              "docComment": "/**\n * Define a new operation that returns a string response.\n *\n * @param verb - The HTTP verb.\n *\n * @param path - The path relative to basePath.\n *\n * @param operationName - The name of the controller method implementing this operation (`x-operation-name` field).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withOperationReturningString(verb: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", path: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", operationName?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "verb",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "path",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "operationName",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ],
              "name": "withOperationReturningString"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 5
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/openapi-spec-builder!OperationSpecBuilder:class",
          "docComment": "/**\n * A builder for creating OperationObject specifications.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class OperationSpecBuilder extends "
            },
            {
              "kind": "Reference",
              "text": "BuilderBase",
              "canonicalReference": "@loopback/openapi-spec-builder!BuilderBase:class"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "OperationObject",
              "canonicalReference": "openapi3-ts!OperationObject:interface"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "OperationSpecBuilder",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/openapi-spec-builder!OperationSpecBuilder:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `OperationSpecBuilder` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor();"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": []
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!OperationSpecBuilder#withControllerName:member(1)",
              "docComment": "/**\n * Define the controller name (controller name).\n *\n * @param name - The name of the controller containing this operation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withControllerName(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "withControllerName"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!OperationSpecBuilder#withOperationId:member(1)",
              "docComment": "/**\n * Define the operationId\n *\n * @param operationId - Operation id\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withOperationId(operationId: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "operationId",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "withOperationId"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!OperationSpecBuilder#withOperationName:member(1)",
              "docComment": "/**\n * Define the operation name (controller method name).\n *\n * @param name - The name of the controller method implementing this operation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withOperationName(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "withOperationName"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!OperationSpecBuilder#withParameter:member(1)",
              "docComment": "/**\n * Describe one more parameters accepted by the operation. Note that parameters are positional in OpenAPI Spec, therefore the first call of `withParameter` defines the first parameter, the second call defines the second parameter, etc.\n *\n * @param  - parameterSpecs\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withParameter(...parameterSpecs: "
                },
                {
                  "kind": "Reference",
                  "text": "ParameterObject",
                  "canonicalReference": "openapi3-ts!ParameterObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "parameterSpecs",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  }
                }
              ],
              "name": "withParameter"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!OperationSpecBuilder#withRequestBody:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withRequestBody(requestBodySpec: "
                },
                {
                  "kind": "Reference",
                  "text": "RequestBodyObject",
                  "canonicalReference": "openapi3-ts!RequestBodyObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "requestBodySpec",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "withRequestBody"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!OperationSpecBuilder#withResponse:member(1)",
              "docComment": "/**\n * Describe a response for a given HTTP status code.\n *\n * @param status - HTTP status code or string \"default\"\n *\n * @param responseSpec - Specification of the response\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withResponse(status: "
                },
                {
                  "kind": "Content",
                  "text": "number | 'default'"
                },
                {
                  "kind": "Content",
                  "text": ", responseSpec: "
                },
                {
                  "kind": "Reference",
                  "text": "ResponseObject",
                  "canonicalReference": "openapi3-ts!ResponseObject:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "status",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "responseSpec",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "withResponse"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!OperationSpecBuilder#withStringResponse:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withStringResponse(status?: "
                },
                {
                  "kind": "Content",
                  "text": "number | 'default'"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "status",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "withStringResponse"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/openapi-spec-builder!OperationSpecBuilder#withTags:member(1)",
              "docComment": "/**\n * Describe tags associated with the operation\n *\n * @param  - tags\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withTags(tags: "
                },
                {
                  "kind": "Content",
                  "text": "string | string[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "tags",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "withTags"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 5
          },
          "implementsTokenRanges": []
        }
      ]
    }
  ]
}
