{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.2.1",
    "schemaVersion": 1001,
    "oldestForwardsCompatibleVersion": 1001
  },
  "kind": "Package",
  "canonicalReference": "@loopback/boot",
  "docComment": "",
  "name": "@loopback/boot",
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "",
      "name": "",
      "members": [
        {
          "kind": "Function",
          "canonicalReference": "(_bindBooter:0)",
          "docComment": "/**\n * Method which binds a given Booter to a given Context with the Prefix and Tags expected by the Bootstrapper\n *\n * @param ctx - The Context to bind the Booter Class\n *\n * @param booterCls - Booter class to be bound\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "_bindBooter"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "ctx"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Context"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "booterCls"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Constructor"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Booter"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Binding"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 14,
            "endIndex": 15
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "ctx",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "booterCls",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 13
              }
            }
          ],
          "name": "_bindBooter"
        },
        {
          "kind": "Class",
          "canonicalReference": "(ApplicationMetadataBooter:class)",
          "docComment": "/**\n * Configure the application with metadata from `package.json`\n *\n * @param app - Application instance\n *\n * @param projectRoot - Root of User Project\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "ApplicationMetadataBooter"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Booter"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "ApplicationMetadataBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `ApplicationMetadataBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "projectRoot"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(app:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(configure:instance,0)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "configure"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "configure"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(BaseArtifactBooter:class)",
          "docComment": "/**\n * This class serves as a base class for Booters which follow a pattern of configure, discover files in a folder(s) using explicit folder / extensions or a glob pattern and lastly identifying exported classes from such files and performing an action on such files such as binding them.\n *\n * Any Booter extending this base class is expected to\n *\n * 1. Set the 'options' property to a object of ArtifactOptions type. (Each extending class should provide defaults for the ArtifactOptions and use Object.assign to merge the properties with user provided Options). 2. Provide it's own logic for 'load' after calling 'await super.load()' to actually boot the Artifact classes.\n *\n * Currently supports the following boot phases: configure, discover, load.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Booter"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "BaseArtifactBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `BaseArtifactBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "projectRoot"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "options"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(artifactName:instance)",
              "docComment": "/**\n * Get the name of the artifact loaded by this booter, e.g. \"Controller\". Subclasses can override the default logic based on the class name.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "artifactName"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "artifactName",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(classes:instance)",
              "docComment": "/**\n * List of exported classes discovered in the files\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "classes"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor"
                },
                {
                  "kind": "Content",
                  "text": "<{}>[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "classes",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(configure:instance,0)",
              "docComment": "/**\n * Configure the Booter by initializing the 'dirs', 'extensions' and 'glob' properties.\n *\n * NOTE: All properties are configured even if all aren't used.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "configure"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "configure"
            },
            {
              "kind": "Property",
              "canonicalReference": "(dirs:instance)",
              "docComment": "/**\n * Relative paths of directories to be searched\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "dirs"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "dirs",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(discover:instance,0)",
              "docComment": "/**\n * Discover files based on the 'glob' property relative to the 'projectRoot'. Discovered artifact files matching the pattern are saved to the 'discovered' property.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "discover"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "discover"
            },
            {
              "kind": "Property",
              "canonicalReference": "(discovered:instance)",
              "docComment": "/**\n * List of files discovered by the Booter that matched artifact requirements\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "discovered"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "discovered",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(extensions:instance)",
              "docComment": "/**\n * File extensions to be searched\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "extensions"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "extensions",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(glob:instance)",
              "docComment": "/**\n * `glob` pattern to match artifact paths\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "glob"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "glob",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(load:instance,0)",
              "docComment": "/**\n * Filters the exports of 'discovered' files to only be Classes (in case function / types are exported) as an artifact is a Class. The filtered artifact Classes are saved in the 'classes' property.\n *\n * NOTE: Booters extending this class should call this method (await super.load()) and then process the artifact classes as appropriate.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "load"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "load"
            },
            {
              "kind": "Property",
              "canonicalReference": "(options:instance)",
              "docComment": "/**\n * Options being used by the Booter.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "options"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "options",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(projectRoot:instance)",
              "docComment": "/**\n * Project root relative to which all other paths are resolved\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly "
                },
                {
                  "kind": "Reference",
                  "text": "projectRoot"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "projectRoot",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "(Bootable:interface)",
          "docComment": "/**\n * Interface to describe the additions made available to an Application that uses BootMixin.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "Bootable"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "Bootable",
          "members": [
            {
              "kind": "MethodSignature",
              "canonicalReference": "(boot:0)",
              "docComment": "/**\n * Boot up the project\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "boot"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "boot"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "(booters:0)",
              "docComment": "/**\n * Register booters\n *\n * @param booterClasses - A list of booter classes\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "booters"
                },
                {
                  "kind": "Content",
                  "text": "(..."
                },
                {
                  "kind": "Reference",
                  "text": "booterClasses"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Booter"
                },
                {
                  "kind": "Content",
                  "text": ">[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 11
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "booterClasses",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 8
                  }
                }
              ],
              "name": "booters"
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "bootOptions",
              "docComment": "/**\n * Options for boot\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "bootOptions"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "BootOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "bootOptions",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "projectRoot",
              "docComment": "/**\n * Root directory for the project to be booted\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "projectRoot"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "projectRoot",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Namespace",
          "canonicalReference": "(BootBindings:namespace)",
          "docComment": "/**\n * Namespace for core binding keys\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare namespace "
            },
            {
              "kind": "Reference",
              "text": "BootBindings"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "BootBindings",
          "members": [
            {
              "kind": "Variable",
              "canonicalReference": "BOOT_OPTIONS",
              "docComment": "/**\n * Binding key for Boot configuration\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "BOOT_OPTIONS"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BootOptions"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "BOOT_OPTIONS",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "BOOTER_PREFIX",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "BOOTER_PREFIX"
                },
                {
                  "kind": "Content",
                  "text": " = \"booters\""
                }
              ],
              "releaseTag": "Public",
              "name": "BOOTER_PREFIX",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "BOOTER_TAG",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "BOOTER_TAG"
                },
                {
                  "kind": "Content",
                  "text": " = \"booter\""
                }
              ],
              "releaseTag": "Public",
              "name": "BOOTER_TAG",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "BOOTSTRAPPER_KEY",
              "docComment": "/**\n * Binding key for binding the BootStrapper class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "BOOTSTRAPPER_KEY"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Bootstrapper"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "BOOTSTRAPPER_KEY",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 6
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "PROJECT_ROOT",
              "docComment": "/**\n * Binding key for determining project root directory\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "PROJECT_ROOT"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                }
              ],
              "releaseTag": "Public",
              "name": "PROJECT_ROOT",
              "variableTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              }
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "(BootComponent:class)",
          "docComment": "/**\n * BootComponent is used to export the default list of Booter's made available by this module as well as bind the BootStrapper to the app so it can be used to run the Booters.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "BootComponent"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Component"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "BootComponent",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `BootComponent` class\n *\n * @param app - Application instance\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(booters:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "booters"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "(typeof "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationMetadataBooter"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerBooter"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "RepositoryBooter"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "ServiceBooter"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "DataSourceBooter"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "LifeCycleObserverBooter"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "InterceptorProviderBooter"
                },
                {
                  "kind": "Content",
                  "text": ")[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "booters",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 17
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "(Booter:interface)",
          "docComment": "/**\n * Defines the requirements to implement a Booter for LoopBack applications: - configure() - discover() - load()\n *\n * A Booter will run through the above methods in order.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface "
            },
            {
              "kind": "Reference",
              "text": "Booter"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "Booter",
          "members": [
            {
              "kind": "MethodSignature",
              "canonicalReference": "(configure:0)",
              "docComment": "/**\n * Configure phase of the Booter. It should set options / defaults in this phase.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "configure"
                },
                {
                  "kind": "Content",
                  "text": "?(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "configure"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "(discover:0)",
              "docComment": "/**\n * Discover phase of the Booter. It should search for artifacts in this phase.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "discover"
                },
                {
                  "kind": "Content",
                  "text": "?(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "discover"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "(load:0)",
              "docComment": "/**\n * Load phase of the Booter. It should bind the artifacts in this phase.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "load"
                },
                {
                  "kind": "Content",
                  "text": "?(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "load"
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "(BootMixin:0)",
          "docComment": "/**\n * Mixin for @loopback/boot. This Mixin provides the following: - Implements the Bootable Interface as follows. - Add a `projectRoot` property to the Class - Adds an optional `bootOptions` property to the Class that can be used to store the Booter conventions. - Adds the `BootComponent` to the Class (which binds the Bootstrapper and default Booters) - Provides the `boot()` convenience method to call Bootstrapper.boot() - Provides the `booter()` convenience method to bind a Booter(s) to the Application - Override `component()` to call `mountComponentBooters` - Adds `mountComponentBooters` which binds Booters to the application from `component.booters[]`\n *\n * ******************** NOTE ******************** Trying to constrain the type of this Mixin (or any Mixin) will cause errors. For example, constraining this Mixin to type Application require all types using by Application to be imported (including it's dependencies such as ResolutionSession). Another issue was that if a Mixin that is type constrained is used with another Mixin that is not, it will result in an error. Example (class MyApp extends BootMixin(RepositoryMixin(Application))) {}; ******************** END OF NOTE ********************\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "BootMixin"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "Constructor"
            },
            {
              "kind": "Content",
              "text": "<any>"
            },
            {
              "kind": "Content",
              "text": ">("
            },
            {
              "kind": "Reference",
              "text": "superClass"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "{\n    new (..."
            },
            {
              "kind": "Reference",
              "text": "args"
            },
            {
              "kind": "Content",
              "text": ": any[]): {\n        ["
            },
            {
              "kind": "Reference",
              "text": "x"
            },
            {
              "kind": "Content",
              "text": ": string]: any;\n        "
            },
            {
              "kind": "Reference",
              "text": "projectRoot"
            },
            {
              "kind": "Content",
              "text": ": string;\n        "
            },
            {
              "kind": "Reference",
              "text": "bootOptions"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "BootOptions"
            },
            {
              "kind": "Content",
              "text": " | undefined;\n        "
            },
            {
              "kind": "Reference",
              "text": "boot"
            },
            {
              "kind": "Content",
              "text": "(): "
            },
            {
              "kind": "Reference",
              "text": "Promise"
            },
            {
              "kind": "Content",
              "text": "<void>;\n        "
            },
            {
              "kind": "Reference",
              "text": "booters"
            },
            {
              "kind": "Content",
              "text": "(..."
            },
            {
              "kind": "Reference",
              "text": "booterCls"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Constructor"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Booter"
            },
            {
              "kind": "Content",
              "text": ">[]): "
            },
            {
              "kind": "Reference",
              "text": "Binding"
            },
            {
              "kind": "Content",
              "text": "<any>[];\n        "
            },
            {
              "kind": "Reference",
              "text": "component"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "component"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Constructor"
            },
            {
              "kind": "Content",
              "text": "<{}>): void;\n        "
            },
            {
              "kind": "Reference",
              "text": "mountComponentBooters"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "component"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "Constructor"
            },
            {
              "kind": "Content",
              "text": "<{}>): void;\n    };\n} & "
            },
            {
              "kind": "Reference",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 12,
            "endIndex": 50
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "superClass",
              "parameterTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 11
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 5,
                "endIndex": 7
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "BootMixin"
        },
        {
          "kind": "Class",
          "canonicalReference": "(Bootstrapper:class)",
          "docComment": "/**\n * The Bootstrapper class provides the `boot` function that is responsible for finding and executing the Booters in an application based on given options.\n *\n * NOTE: Bootstrapper should be bound as a SINGLETON so it can be cached as it does not maintain any state of it's own.\n *\n * @param app - Application instance\n *\n * @param projectRoot - The root directory of the project, relative to which all other paths are resolved\n *\n * @param bootOptions - The BootOptions describing the conventions to be used by various Booters\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "Bootstrapper"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "Bootstrapper",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `Bootstrapper` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": " & "
                },
                {
                  "kind": "Reference",
                  "text": "Bootable"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "projectRoot"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "bootOptions"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "BootOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  }
                },
                {
                  "parameterName": "bootOptions",
                  "parameterTypeTokenRange": {
                    "startIndex": 13,
                    "endIndex": 14
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "(boot:instance,0)",
              "docComment": "/**\n * Function is responsible for calling all registered Booter classes that are bound to the Application instance. Each phase of an instance must complete before the next phase is started.\n *\n * @param execOptions - Execution options for boot. These determine the phases and booters that are run.\n *\n * @param ctx - Optional Context to use to resolve bindings. This is primarily useful when running app.boot() again but with different settings (in particular phases) such as 'start' / 'stop'. Using a returned Context from a previous boot call allows DI to retrieve the same instances of Booters previously used as they are bound using a CONTEXT scope. This is important as Booter instances may maintain state.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "boot"
                },
                {
                  "kind": "Content",
                  "text": "("
                },
                {
                  "kind": "Reference",
                  "text": "execOptions"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "BootExecutionOptions"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "ctx"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Context"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 14
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "execOptions",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "ctx",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  }
                }
              ],
              "name": "boot"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "(ControllerBooter:class)",
          "docComment": "/**\n * A class that extends BaseArtifactBooter to boot the 'Controller' artifact type. Discovered controllers are bound using `app.controller()`.\n *\n * Supported phases: configure, discover, load\n *\n * @param app - Application instance\n *\n * @param projectRoot - Root of User Project relative to which all paths are resolved\n *\n * @param bootConfig - Controller Artifact Options Object\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "ControllerBooter"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "ControllerBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `ControllerBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "projectRoot"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "controllerConfig"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "controllerConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(app:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(controllerConfig:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "controllerConfig"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "controllerConfig",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(load:instance,0)",
              "docComment": "/**\n * Uses super method to get a list of Artifact classes. Boot each class by binding it to the application using `app.controller(controller);`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "load"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "load"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "(DataSourceBooter:class)",
          "docComment": "/**\n * A class that extends BaseArtifactBooter to boot the 'DataSource' artifact type. Discovered DataSources are bound using `app.controller()`.\n *\n * Supported phases: configure, discover, load\n *\n * @param app - Application instance\n *\n * @param projectRoot - Root of User Project relative to which all paths are resolved\n *\n * @param bootConfig - DataSource Artifact Options Object\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "DataSourceBooter"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "DataSourceBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `DataSourceBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithRepositories"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "projectRoot"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "datasourceConfig"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "datasourceConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(app:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithRepositories"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(datasourceConfig:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "datasourceConfig"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "datasourceConfig",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(load:instance,0)",
              "docComment": "/**\n * Uses super method to get a list of Artifact classes. Boot each file by creating a DataSourceConstructor and binding it to the application class.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "load"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "load"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "(discoverFiles:0)",
          "docComment": "/**\n * Returns all files matching the given glob pattern relative to root\n *\n * @param pattern - A glob pattern\n *\n * @param root - Root folder to start searching for matching files\n *\n * @returns Array of discovered files\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "discoverFiles"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "pattern"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "root"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise"
            },
            {
              "kind": "Content",
              "text": "<string[]>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 13
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "pattern",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "root",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            }
          ],
          "name": "discoverFiles"
        },
        {
          "kind": "Class",
          "canonicalReference": "(InterceptorProviderBooter:class)",
          "docComment": "/**\n * A class that extends BaseArtifactBooter to boot the 'InterceptorProvider' artifact type.\n *\n * Supported phases: configure, discover, load\n *\n * @param  - app Application instance\n *\n * @param  - projectRoot Root of User Project relative to which all paths are resolved\n *\n * @param  - [bootConfig] InterceptorProvider Artifact Options Object\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "InterceptorProviderBooter"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "InterceptorProviderBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `InterceptorProviderBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "projectRoot"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "interceptorConfig"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "interceptorConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(app:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(interceptorConfig:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "interceptorConfig"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "interceptorConfig",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(interceptors:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "interceptors"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "InterceptorProviderClass"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "interceptors",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(load:instance,0)",
              "docComment": "/**\n * Uses super method to get a list of Artifact classes. Boot each file by creating a DataSourceConstructor and binding it to the application class.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "load"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "load"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "(isClass:0)",
          "docComment": "/**\n * Given a function, returns true if it is a class, false otherwise.\n *\n * @param target - The function to check if it's a class or not.\n *\n * @returns True if target is a class. False otherwise.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "isClass"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "target"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "any"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "target"
            },
            {
              "kind": "Content",
              "text": " is "
            },
            {
              "kind": "Reference",
              "text": "Constructor"
            },
            {
              "kind": "Content",
              "text": "<any>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 7,
            "endIndex": 11
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "target",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            }
          ],
          "name": "isClass"
        },
        {
          "kind": "Class",
          "canonicalReference": "(LifeCycleObserverBooter:class)",
          "docComment": "/**\n * A class that extends BaseArtifactBooter to boot the 'LifeCycleObserver' artifact type.\n *\n * Supported phases: configure, discover, load\n *\n * @param app - Application instance\n *\n * @param projectRoot - Root of User Project relative to which all paths are resolved\n *\n * @param bootConfig - LifeCycleObserver Artifact Options Object\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "LifeCycleObserverBooter"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "LifeCycleObserverBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `LifeCycleObserverBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "projectRoot"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "observerConfig"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "observerConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(app:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "Application"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(load:instance,0)",
              "docComment": "/**\n * Uses super method to get a list of Artifact classes. Boot each file by creating a DataSourceConstructor and binding it to the application class.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "load"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "load"
            },
            {
              "kind": "Property",
              "canonicalReference": "(observerConfig:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "observerConfig"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "observerConfig",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(observers:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "observers"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "LifeCycleObserverClass"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "observers",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "isStatic": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "(loadClassesFromFiles:0)",
          "docComment": "/**\n * Returns an Array of Classes from given files. Works by requiring the file, identifying the exports from the file by getting the keys of the file and then testing each exported member to see if it's a class or not.\n *\n * @param files - An array of string of absolute file paths\n *\n * @param projectRootDir - The project root directory\n *\n * @returns An array of Class constructors from a file\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function "
            },
            {
              "kind": "Reference",
              "text": "loadClassesFromFiles"
            },
            {
              "kind": "Content",
              "text": "("
            },
            {
              "kind": "Reference",
              "text": "files"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string[]"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "projectRootDir"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Constructor"
            },
            {
              "kind": "Content",
              "text": "<{}>[]"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 11,
            "endIndex": 13
          },
          "releaseTag": "Public",
          "overloadIndex": 0,
          "parameters": [
            {
              "parameterName": "files",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            },
            {
              "parameterName": "projectRootDir",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              }
            }
          ],
          "name": "loadClassesFromFiles"
        },
        {
          "kind": "Class",
          "canonicalReference": "(RepositoryBooter:class)",
          "docComment": "/**\n * A class that extends BaseArtifactBooter to boot the 'Repository' artifact type. Discovered repositories are bound using `app.repository()` which must be added to an Application using the `RepositoryMixin` from `@loopback/repository`.\n *\n * Supported phases: configure, discover, load\n *\n * @param app - Application instance\n *\n * @param projectRoot - Root of User Project relative to which all paths are resolved\n *\n * @param bootConfig - Repository Artifact Options Object\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "RepositoryBooter"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RepositoryBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `RepositoryBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithRepositories"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "projectRoot"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "repositoryOptions"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "repositoryOptions",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(app:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithRepositories"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(load:instance,0)",
              "docComment": "/**\n * Uses super method to get a list of Artifact classes. Boot each class by binding it to the application using `app.repository(repository);` if present.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "load"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "load"
            },
            {
              "kind": "Property",
              "canonicalReference": "(repositoryOptions:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "repositoryOptions"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "repositoryOptions",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "(ServiceBooter:class)",
          "docComment": "/**\n * A class that extends BaseArtifactBooter to boot the 'Service' artifact type. Discovered DataSources are bound using `app.controller()`.\n *\n * Supported phases: configure, discover, load\n *\n * @param app - Application instance\n *\n * @param projectRoot - Root of User Project relative to which all paths are resolved\n *\n * @param bootConfig - Service Artifact Options Object\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class "
            },
            {
              "kind": "Reference",
              "text": "ServiceBooter"
            },
            {
              "kind": "Content",
              "text": " extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "ServiceBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "(:constructor,0)",
              "docComment": "/**\n * Constructs a new instance of the `ServiceBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor("
                },
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithServices"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "projectRoot"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", "
                },
                {
                  "kind": "Reference",
                  "text": "serviceConfig"
                },
                {
                  "kind": "Content",
                  "text": "?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                },
                {
                  "parameterName": "serviceConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "(app:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "app"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithServices"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "(load:instance,0)",
              "docComment": "/**\n * Uses super method to get a list of Artifact classes. Boot each file by creating a DataSourceConstructor and binding it to the application class.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "load"
                },
                {
                  "kind": "Content",
                  "text": "(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 0,
              "parameters": [],
              "name": "load"
            },
            {
              "kind": "Property",
              "canonicalReference": "(serviceConfig:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "serviceConfig"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "serviceConfig",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "(serviceProviders:instance)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Reference",
                  "text": "serviceProviders"
                },
                {
                  "kind": "Content",
                  "text": ": "
                },
                {
                  "kind": "Reference",
                  "text": "ServiceProviderClass"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "serviceProviders",
              "propertyTypeTokenRange": {
                "startIndex": 2,
                "endIndex": 4
              },
              "isStatic": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "ArtifactOptions",
          "docComment": "/**\n * Type definition for ArtifactOptions. These are the options supported by this Booter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "{\n    "
            },
            {
              "kind": "Reference",
              "text": "dirs"
            },
            {
              "kind": "Content",
              "text": "?: string | string[];\n    "
            },
            {
              "kind": "Reference",
              "text": "extensions"
            },
            {
              "kind": "Content",
              "text": "?: string | string[];\n    "
            },
            {
              "kind": "Reference",
              "text": "nested"
            },
            {
              "kind": "Content",
              "text": "?: boolean;\n    "
            },
            {
              "kind": "Reference",
              "text": "glob"
            },
            {
              "kind": "Content",
              "text": "?: string;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ArtifactOptions",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 12
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "BOOTER_PHASES",
          "docComment": "/**\n * Export of an array of all the Booter phases supported by the interface above, in the order they should be run.\n */\n",
          "excerptTokens": [
            {
              "kind": "Reference",
              "text": "BOOTER_PHASES"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Content",
              "text": "string[]"
            }
          ],
          "releaseTag": "Public",
          "name": "BOOTER_PHASES",
          "variableTypeTokenRange": {
            "startIndex": 2,
            "endIndex": 3
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "BootExecutionOptions",
          "docComment": "/**\n * Options for boot() execution\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "BootExecutionOptions"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "{\n    "
            },
            {
              "kind": "Reference",
              "text": "booters"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "Constructor"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Booter"
            },
            {
              "kind": "Content",
              "text": ">[];\n    "
            },
            {
              "kind": "Reference",
              "text": "filter"
            },
            {
              "kind": "Content",
              "text": "?: {\n        "
            },
            {
              "kind": "Reference",
              "text": "booters"
            },
            {
              "kind": "Content",
              "text": "?: string[];\n        "
            },
            {
              "kind": "Reference",
              "text": "phases"
            },
            {
              "kind": "Content",
              "text": "?: string[];\n    };\n    ["
            },
            {
              "kind": "Reference",
              "text": "prop"
            },
            {
              "kind": "Content",
              "text": ": string]: any;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "BootExecutionOptions",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 18
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "BootOptions",
          "docComment": "/**\n * Options to configure `Bootstrapper`\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type "
            },
            {
              "kind": "Reference",
              "text": "BootOptions"
            },
            {
              "kind": "Content",
              "text": " = "
            },
            {
              "kind": "Content",
              "text": "{\n    "
            },
            {
              "kind": "Reference",
              "text": "controllers"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions"
            },
            {
              "kind": "Content",
              "text": ";\n    "
            },
            {
              "kind": "Reference",
              "text": "repositories"
            },
            {
              "kind": "Content",
              "text": "?: "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions"
            },
            {
              "kind": "Content",
              "text": ";\n    ["
            },
            {
              "kind": "Reference",
              "text": "prop"
            },
            {
              "kind": "Content",
              "text": ": string]: any;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "BootOptions",
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 14
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "ControllerDefaults",
          "docComment": "/**\n * Default ArtifactOptions for ControllerBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Reference",
              "text": "ControllerDefaults"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions"
            }
          ],
          "releaseTag": "Public",
          "name": "ControllerDefaults",
          "variableTypeTokenRange": {
            "startIndex": 2,
            "endIndex": 3
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "DataSourceDefaults",
          "docComment": "/**\n * Default ArtifactOptions for DataSourceBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Reference",
              "text": "DataSourceDefaults"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions"
            }
          ],
          "releaseTag": "Public",
          "name": "DataSourceDefaults",
          "variableTypeTokenRange": {
            "startIndex": 2,
            "endIndex": 3
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "InterceptorProviderDefaults",
          "docComment": "/**\n * Default ArtifactOptions for DataSourceBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Reference",
              "text": "InterceptorProviderDefaults"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions"
            }
          ],
          "releaseTag": "Public",
          "name": "InterceptorProviderDefaults",
          "variableTypeTokenRange": {
            "startIndex": 2,
            "endIndex": 3
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "LifeCycleObserverDefaults",
          "docComment": "/**\n * Default ArtifactOptions for DataSourceBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Reference",
              "text": "LifeCycleObserverDefaults"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions"
            }
          ],
          "releaseTag": "Public",
          "name": "LifeCycleObserverDefaults",
          "variableTypeTokenRange": {
            "startIndex": 2,
            "endIndex": 3
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "RepositoryDefaults",
          "docComment": "/**\n * Default ArtifactOptions for RepositoryBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Reference",
              "text": "RepositoryDefaults"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions"
            }
          ],
          "releaseTag": "Public",
          "name": "RepositoryDefaults",
          "variableTypeTokenRange": {
            "startIndex": 2,
            "endIndex": 3
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "ServiceDefaults",
          "docComment": "/**\n * Default ArtifactOptions for DataSourceBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Reference",
              "text": "ServiceDefaults"
            },
            {
              "kind": "Content",
              "text": ": "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions"
            }
          ],
          "releaseTag": "Public",
          "name": "ServiceDefaults",
          "variableTypeTokenRange": {
            "startIndex": 2,
            "endIndex": 3
          }
        }
      ]
    }
  ]
}
