{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.7.10",
    "schemaVersion": 1003,
    "oldestForwardsCompatibleVersion": 1001
  },
  "kind": "Package",
  "canonicalReference": "@loopback/boot!",
  "docComment": "",
  "name": "@loopback/boot",
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@loopback/boot!",
      "name": "",
      "members": [
        {
          "kind": "Function",
          "canonicalReference": "@loopback/boot!_bindBooter:function(1)",
          "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 _bindBooter(ctx: "
            },
            {
              "kind": "Reference",
              "text": "Context",
              "canonicalReference": "@loopback/context!Context:class"
            },
            {
              "kind": "Content",
              "text": ", booterCls: "
            },
            {
              "kind": "Reference",
              "text": "Constructor",
              "canonicalReference": "@loopback/context!Constructor:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Booter",
              "canonicalReference": "@loopback/boot!Booter:interface"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Binding",
              "canonicalReference": "@loopback/context!Binding:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 8,
            "endIndex": 9
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "ctx",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "booterCls",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              }
            }
          ],
          "name": "_bindBooter"
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/boot!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 ApplicationMetadataBooter implements "
            },
            {
              "kind": "Reference",
              "text": "Booter",
              "canonicalReference": "@loopback/boot!Booter:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "ApplicationMetadataBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/boot!ApplicationMetadataBooter:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `ApplicationMetadataBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(app: "
                },
                {
                  "kind": "Reference",
                  "text": "Application",
                  "canonicalReference": "@loopback/core!Application:class"
                },
                {
                  "kind": "Content",
                  "text": ", projectRoot: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!ApplicationMetadataBooter#app:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "app: "
                },
                {
                  "kind": "Reference",
                  "text": "Application",
                  "canonicalReference": "@loopback/core!Application:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!ApplicationMetadataBooter#configure:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "configure(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "configure"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/boot!ArtifactOptions:type",
          "docComment": "/**\n * Type definition for ArtifactOptions. These are the options supported by this Booter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type ArtifactOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    dirs?: string | string[];\n    extensions?: string | string[];\n    nested?: boolean;\n    glob?: string;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "ArtifactOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/boot!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 BaseArtifactBooter implements "
            },
            {
              "kind": "Reference",
              "text": "Booter",
              "canonicalReference": "@loopback/boot!Booter:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "BaseArtifactBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `BaseArtifactBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(projectRoot: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", options: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter#artifactName:member",
              "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": "get artifactName(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "artifactName",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter#classes:member",
              "docComment": "/**\n * List of exported classes discovered in the files\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "classes: "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor",
                  "canonicalReference": "@loopback/context!Constructor:type"
                },
                {
                  "kind": "Content",
                  "text": "<{}>[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "classes",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter#configure:member(1)",
              "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": "Content",
                  "text": "configure(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "configure"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter#dirs:member",
              "docComment": "/**\n * Relative paths of directories to be searched\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "dirs: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "dirs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter#discover:member(1)",
              "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": "Content",
                  "text": "discover(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "discover"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter#discovered:member",
              "docComment": "/**\n * List of files discovered by the Booter that matched artifact requirements\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "discovered: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "discovered",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter#extensions:member",
              "docComment": "/**\n * File extensions to be searched\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "extensions: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "extensions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter#glob:member",
              "docComment": "/**\n * `glob` pattern to match artifact paths\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "glob: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "glob",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter#load:member(1)",
              "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": "Content",
                  "text": "load(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "load"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter#options:member",
              "docComment": "/**\n * Options being used by the Booter.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly options: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "options",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter#projectRoot:member",
              "docComment": "/**\n * Project root relative to which all other paths are resolved\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly projectRoot: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "projectRoot",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/boot!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 Bootable "
            }
          ],
          "releaseTag": "Public",
          "name": "Bootable",
          "members": [
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/boot!Bootable#boot:member(1)",
              "docComment": "/**\n * Boot up the project\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "boot(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "boot"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/boot!Bootable#booters:member(1)",
              "docComment": "/**\n * Register booters\n *\n * @param booterClasses - A list of booter classes\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "booters(...booterClasses: "
                },
                {
                  "kind": "Reference",
                  "text": "Constructor",
                  "canonicalReference": "@loopback/context!Constructor:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Booter",
                  "canonicalReference": "@loopback/boot!Booter:interface"
                },
                {
                  "kind": "Content",
                  "text": ">[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "booterClasses",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                }
              ],
              "name": "booters"
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/boot!Bootable#bootOptions:member",
              "docComment": "/**\n * Options for boot\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "bootOptions?: "
                },
                {
                  "kind": "Reference",
                  "text": "BootOptions",
                  "canonicalReference": "@loopback/boot!BootOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "bootOptions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/boot!Bootable#projectRoot:member",
              "docComment": "/**\n * Root directory for the project to be booted\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "projectRoot: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "projectRoot",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Namespace",
          "canonicalReference": "@loopback/boot!BootBindings:namespace",
          "docComment": "/**\n * Namespace for boot related binding keys\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare namespace BootBindings "
            }
          ],
          "releaseTag": "Public",
          "name": "BootBindings",
          "members": [
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/boot!BootBindings.BOOT_OPTIONS:var",
              "docComment": "/**\n * Binding key for boot options\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BOOT_OPTIONS: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "BootOptions",
                  "canonicalReference": "@loopback/boot!BootOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "BOOT_OPTIONS",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/boot!BootBindings.BOOTER_PREFIX:var",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BOOTER_PREFIX = \"booters\""
                }
              ],
              "releaseTag": "Public",
              "name": "BOOTER_PREFIX",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/boot!BootBindings.BOOTSTRAPPER_KEY:var",
              "docComment": "/**\n * Binding key for binding the BootStrapper class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BOOTSTRAPPER_KEY: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Bootstrapper",
                  "canonicalReference": "@loopback/boot!Bootstrapper:class"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "BOOTSTRAPPER_KEY",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/boot!BootBindings.PROJECT_ROOT:var",
              "docComment": "/**\n * Binding key for determining project root directory\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PROJECT_ROOT: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                }
              ],
              "releaseTag": "Public",
              "name": "PROJECT_ROOT",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/boot!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 BootComponent implements "
            },
            {
              "kind": "Reference",
              "text": "Component",
              "canonicalReference": "@loopback/core!Component:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "BootComponent",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/boot!BootComponent:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `BootComponent` class\n *\n * @param app - Application instance\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(app: "
                },
                {
                  "kind": "Reference",
                  "text": "Application",
                  "canonicalReference": "@loopback/core!Application:class"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!BootComponent#booters:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "booters: "
                },
                {
                  "kind": "Content",
                  "text": "(typeof "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationMetadataBooter",
                  "canonicalReference": "@loopback/boot!ApplicationMetadataBooter:class"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "ControllerBooter",
                  "canonicalReference": "@loopback/boot!ControllerBooter:class"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "DataSourceBooter",
                  "canonicalReference": "@loopback/boot!DataSourceBooter:class"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "InterceptorProviderBooter",
                  "canonicalReference": "@loopback/boot!InterceptorProviderBooter:class"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "LifeCycleObserverBooter",
                  "canonicalReference": "@loopback/boot!LifeCycleObserverBooter:class"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "ModelApiBooter",
                  "canonicalReference": "@loopback/boot!ModelApiBooter:class"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "RepositoryBooter",
                  "canonicalReference": "@loopback/boot!RepositoryBooter:class"
                },
                {
                  "kind": "Content",
                  "text": " | typeof "
                },
                {
                  "kind": "Reference",
                  "text": "ServiceBooter",
                  "canonicalReference": "@loopback/boot!ServiceBooter:class"
                },
                {
                  "kind": "Content",
                  "text": ")[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "booters",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 18
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/boot!BOOTER_PHASES:var",
          "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": "Content",
              "text": "BOOTER_PHASES: "
            },
            {
              "kind": "Content",
              "text": "string[]"
            }
          ],
          "releaseTag": "Public",
          "name": "BOOTER_PHASES",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/boot!booter:function(1)",
          "docComment": "/**\n * `@booter` decorator to mark a class as a `Booter` and specify the artifact namespace for the configuration of the booter\n *\n * @param artifactNamespace - Namespace for the artifact. It will be used to inject configuration from boot options. For example, the Booter class decorated with `@booter('controllers')` can receive its configuration via `@config()` from the `controllers` property of boot options.\n *\n * @param specs - Extra specs for the binding\n *\n * @example\n * ```ts\n * @booter('controllers')\n * export class ControllerBooter extends BaseArtifactBooter {\n *   constructor(\n *     @inject(CoreBindings.APPLICATION_INSTANCE) public app: Application,\n *     @inject(BootBindings.PROJECT_ROOT) projectRoot: string,\n *     @config()\n *    public controllerConfig: ArtifactOptions = {},\n *   ) {\n *   // ...\n *   }\n * }\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function booter(artifactNamespace: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", ...specs: "
            },
            {
              "kind": "Reference",
              "text": "BindingSpec",
              "canonicalReference": "@loopback/context!BindingSpec:type"
            },
            {
              "kind": "Content",
              "text": "[]"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ClassDecorator",
              "canonicalReference": "!ClassDecorator:type"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 6,
            "endIndex": 7
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "artifactNamespace",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "specs",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              }
            }
          ],
          "name": "booter"
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/boot!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 Booter "
            }
          ],
          "releaseTag": "Public",
          "name": "Booter",
          "members": [
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/boot!Booter#configure:member(1)",
              "docComment": "/**\n * Configure phase of the Booter. It should set options / defaults in this phase.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "configure?(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "configure"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/boot!Booter#discover:member(1)",
              "docComment": "/**\n * Discover phase of the Booter. It should search for artifacts in this phase.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "discover?(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "discover"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@loopback/boot!Booter#load:member(1)",
              "docComment": "/**\n * Load phase of the Booter. It should bind the artifacts in this phase.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "load?(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "load"
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/boot!BootExecutionOptions:type",
          "docComment": "/**\n * Options for boot() execution\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type BootExecutionOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    booters?: "
            },
            {
              "kind": "Reference",
              "text": "Constructor",
              "canonicalReference": "@loopback/context!Constructor:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Booter",
              "canonicalReference": "@loopback/boot!Booter:interface"
            },
            {
              "kind": "Content",
              "text": ">[];\n    filter?: {\n        booters?: string[];\n        phases?: string[];\n    };\n    [prop: string]: any;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "BootExecutionOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/boot!BootMixin:function(1)",
          "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 BootMixin<T extends "
            },
            {
              "kind": "Reference",
              "text": "Constructor",
              "canonicalReference": "@loopback/context!Constructor:type"
            },
            {
              "kind": "Content",
              "text": "<any>"
            },
            {
              "kind": "Content",
              "text": ">(superClass: "
            },
            {
              "kind": "Content",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "{\n    new (...args: any[]): {\n        [x: string]: any;\n        projectRoot: string;\n        bootOptions?: "
            },
            {
              "kind": "Reference",
              "text": "BootOptions",
              "canonicalReference": "@loopback/boot!BootOptions:type"
            },
            {
              "kind": "Content",
              "text": " | undefined;\n        boot(): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<void>;\n        booters(...booterCls: "
            },
            {
              "kind": "Reference",
              "text": "Constructor",
              "canonicalReference": "@loopback/context!Constructor:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Booter",
              "canonicalReference": "@loopback/boot!Booter:interface"
            },
            {
              "kind": "Content",
              "text": ">[]): "
            },
            {
              "kind": "Reference",
              "text": "Binding",
              "canonicalReference": "@loopback/context!Binding:class"
            },
            {
              "kind": "Content",
              "text": "<any>[];\n        component(component: "
            },
            {
              "kind": "Reference",
              "text": "Constructor",
              "canonicalReference": "@loopback/context!Constructor:type"
            },
            {
              "kind": "Content",
              "text": "<{}>): void;\n        mountComponentBooters(component: "
            },
            {
              "kind": "Reference",
              "text": "Constructor",
              "canonicalReference": "@loopback/context!Constructor:type"
            },
            {
              "kind": "Content",
              "text": "<{}>): void;\n    };\n} & T"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 6,
            "endIndex": 21
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "superClass",
              "parameterTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 5
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "BootMixin"
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/boot!BootOptions:type",
          "docComment": "/**\n * Options to configure `Bootstrapper`\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type BootOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    controllers?: "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions",
              "canonicalReference": "@loopback/boot!ArtifactOptions:type"
            },
            {
              "kind": "Content",
              "text": ";\n    repositories?: "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions",
              "canonicalReference": "@loopback/boot!ArtifactOptions:type"
            },
            {
              "kind": "Content",
              "text": ";\n    [prop: string]: any;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "BootOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/boot!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 Bootstrapper "
            }
          ],
          "releaseTag": "Public",
          "name": "Bootstrapper",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/boot!Bootstrapper:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Bootstrapper` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(app: "
                },
                {
                  "kind": "Reference",
                  "text": "Application",
                  "canonicalReference": "@loopback/core!Application:class"
                },
                {
                  "kind": "Content",
                  "text": " & "
                },
                {
                  "kind": "Reference",
                  "text": "Bootable",
                  "canonicalReference": "@loopback/boot!Bootable:interface"
                },
                {
                  "kind": "Content",
                  "text": ", projectRoot: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", bootOptions?: "
                },
                {
                  "kind": "Reference",
                  "text": "BootOptions",
                  "canonicalReference": "@loopback/boot!BootOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                },
                {
                  "parameterName": "bootOptions",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!Bootstrapper#boot:member(1)",
              "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": "Content",
                  "text": "boot(execOptions?: "
                },
                {
                  "kind": "Reference",
                  "text": "BootExecutionOptions",
                  "canonicalReference": "@loopback/boot!BootExecutionOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ", ctx?: "
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "execOptions",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "ctx",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                }
              ],
              "name": "boot"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Namespace",
          "canonicalReference": "@loopback/boot!BootTags:namespace",
          "docComment": "/**\n * Namespace for boot related tags\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare namespace BootTags "
            }
          ],
          "releaseTag": "Public",
          "name": "BootTags",
          "members": [
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/boot!BootTags.BOOTER_TAG:var",
              "docComment": "/**\n * @deprecated\n *\n * Use `BootTags.BOOTER` instead.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BOOTER_TAG = \"booter\""
                }
              ],
              "releaseTag": "Public",
              "name": "BOOTER_TAG",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/boot!BootTags.BOOTER:var",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BOOTER = \"booter\""
                }
              ],
              "releaseTag": "Public",
              "name": "BOOTER",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/boot!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 ControllerBooter extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "ControllerBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/boot!ControllerBooter:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `ControllerBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(app: "
                },
                {
                  "kind": "Reference",
                  "text": "Application",
                  "canonicalReference": "@loopback/core!Application:class"
                },
                {
                  "kind": "Content",
                  "text": ", projectRoot: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", controllerConfig?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "controllerConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!ControllerBooter#app:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "app: "
                },
                {
                  "kind": "Reference",
                  "text": "Application",
                  "canonicalReference": "@loopback/core!Application:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!ControllerBooter#controllerConfig:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "controllerConfig: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "controllerConfig",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!ControllerBooter#load:member(1)",
              "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": "Content",
                  "text": "load(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "load"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/boot!ControllerDefaults:var",
          "docComment": "/**\n * Default ArtifactOptions for ControllerBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "ControllerDefaults: "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions",
              "canonicalReference": "@loopback/boot!ArtifactOptions:type"
            }
          ],
          "releaseTag": "Public",
          "name": "ControllerDefaults",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/boot!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 DataSourceBooter extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "DataSourceBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/boot!DataSourceBooter:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `DataSourceBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(app: "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithRepositories",
                  "canonicalReference": "@loopback/repository!ApplicationWithRepositories:interface"
                },
                {
                  "kind": "Content",
                  "text": ", projectRoot: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", datasourceConfig?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "datasourceConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!DataSourceBooter#app:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "app: "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithRepositories",
                  "canonicalReference": "@loopback/repository!ApplicationWithRepositories:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!DataSourceBooter#datasourceConfig:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "datasourceConfig: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "datasourceConfig",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!DataSourceBooter#load:member(1)",
              "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": "Content",
                  "text": "load(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "load"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/boot!DataSourceDefaults:var",
          "docComment": "/**\n * Default ArtifactOptions for DataSourceBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "DataSourceDefaults: "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions",
              "canonicalReference": "@loopback/boot!ArtifactOptions:type"
            }
          ],
          "releaseTag": "Public",
          "name": "DataSourceDefaults",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/boot!discoverFiles:function(1)",
          "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 discoverFiles(pattern: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", root: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<string[]>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 7
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "pattern",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "root",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "discoverFiles"
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/boot!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 InterceptorProviderBooter extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "InterceptorProviderBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/boot!InterceptorProviderBooter:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `InterceptorProviderBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(app: "
                },
                {
                  "kind": "Reference",
                  "text": "Application",
                  "canonicalReference": "@loopback/core!Application:class"
                },
                {
                  "kind": "Content",
                  "text": ", projectRoot: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", interceptorConfig?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "interceptorConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!InterceptorProviderBooter#app:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "app: "
                },
                {
                  "kind": "Reference",
                  "text": "Application",
                  "canonicalReference": "@loopback/core!Application:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!InterceptorProviderBooter#interceptorConfig:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "interceptorConfig: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "interceptorConfig",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!InterceptorProviderBooter#interceptors:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "interceptors: "
                },
                {
                  "kind": "Reference",
                  "text": "InterceptorProviderClass",
                  "canonicalReference": "@loopback/boot!~InterceptorProviderClass:type"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "interceptors",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!InterceptorProviderBooter#load:member(1)",
              "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": "Content",
                  "text": "load(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "load"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/boot!InterceptorProviderDefaults:var",
          "docComment": "/**\n * Default ArtifactOptions for InterceptorProviderBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "InterceptorProviderDefaults: "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions",
              "canonicalReference": "@loopback/boot!ArtifactOptions:type"
            }
          ],
          "releaseTag": "Public",
          "name": "InterceptorProviderDefaults",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/boot!isClass:function(1)",
          "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 isClass(target: "
            },
            {
              "kind": "Content",
              "text": "any"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "target",
              "canonicalReference": "@loopback/boot!~target"
            },
            {
              "kind": "Content",
              "text": " is "
            },
            {
              "kind": "Reference",
              "text": "Constructor",
              "canonicalReference": "@loopback/context!Constructor:type"
            },
            {
              "kind": "Content",
              "text": "<any>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 7
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "target",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "isClass"
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/boot!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 LifeCycleObserverBooter extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "LifeCycleObserverBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/boot!LifeCycleObserverBooter:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `LifeCycleObserverBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(app: "
                },
                {
                  "kind": "Reference",
                  "text": "Application",
                  "canonicalReference": "@loopback/core!Application:class"
                },
                {
                  "kind": "Content",
                  "text": ", projectRoot: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", observerConfig?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "observerConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!LifeCycleObserverBooter#app:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "app: "
                },
                {
                  "kind": "Reference",
                  "text": "Application",
                  "canonicalReference": "@loopback/core!Application:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!LifeCycleObserverBooter#load:member(1)",
              "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": "Content",
                  "text": "load(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "load"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!LifeCycleObserverBooter#observerConfig:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "observerConfig: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "observerConfig",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!LifeCycleObserverBooter#observers:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "observers: "
                },
                {
                  "kind": "Reference",
                  "text": "LifeCycleObserverClass",
                  "canonicalReference": "@loopback/boot!~LifeCycleObserverClass:type"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "observers",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/boot!LifeCycleObserverDefaults:var",
          "docComment": "/**\n * Default ArtifactOptions for DataSourceBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "LifeCycleObserverDefaults: "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions",
              "canonicalReference": "@loopback/boot!ArtifactOptions:type"
            }
          ],
          "releaseTag": "Public",
          "name": "LifeCycleObserverDefaults",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/boot!loadClassesFromFiles:function(1)",
          "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 loadClassesFromFiles(files: "
            },
            {
              "kind": "Content",
              "text": "string[]"
            },
            {
              "kind": "Content",
              "text": ", projectRootDir: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Constructor",
              "canonicalReference": "@loopback/context!Constructor:type"
            },
            {
              "kind": "Content",
              "text": "<{}>[]"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 7
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "files",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "projectRootDir",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "loadClassesFromFiles"
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/boot!ModelApiBooter:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class ModelApiBooter extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "ModelApiBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/boot!ModelApiBooter:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `ModelApiBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(app: "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithRepositories",
                  "canonicalReference": "@loopback/repository!ApplicationWithRepositories:interface"
                },
                {
                  "kind": "Content",
                  "text": ", projectRoot: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", getModelApiBuilders: "
                },
                {
                  "kind": "Reference",
                  "text": "Getter",
                  "canonicalReference": "@loopback/context!Getter:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ModelApiBuilder",
                  "canonicalReference": "@loopback/model-api-builder!ModelApiBuilder:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]>"
                },
                {
                  "kind": "Content",
                  "text": ", booterConfig?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "getModelApiBuilders",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 9
                  }
                },
                {
                  "parameterName": "booterConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 10,
                    "endIndex": 11
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!ModelApiBooter#app:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "app: "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithRepositories",
                  "canonicalReference": "@loopback/repository!ApplicationWithRepositories:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!ModelApiBooter#booterConfig:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "booterConfig: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "booterConfig",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!ModelApiBooter#getApiBuilderForPattern:member(1)",
              "docComment": "/**\n * Retrieve the API builder that matches the pattern provided\n *\n * @param pattern - name of pattern for an API builder\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getApiBuilderForPattern(pattern: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ModelApiBuilder",
                  "canonicalReference": "@loopback/model-api-builder!ModelApiBuilder:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "pattern",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "getApiBuilderForPattern"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!ModelApiBooter#getModelApiBuilders:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getModelApiBuilders: "
                },
                {
                  "kind": "Reference",
                  "text": "Getter",
                  "canonicalReference": "@loopback/context!Getter:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ModelApiBuilder",
                  "canonicalReference": "@loopback/model-api-builder!ModelApiBuilder:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "getModelApiBuilders",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!ModelApiBooter#load:member(1)",
              "docComment": "/**\n * Load the the model config files\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "load(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "load"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!ModelApiBooter#setupModel:member(1)",
              "docComment": "/**\n * Set up the loaded model classes\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setupModel(configFile: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "configFile",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "setupModel"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/boot!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 RepositoryBooter extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "RepositoryBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/boot!RepositoryBooter:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `RepositoryBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(app: "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithRepositories",
                  "canonicalReference": "@loopback/repository!ApplicationWithRepositories:interface"
                },
                {
                  "kind": "Content",
                  "text": ", projectRoot: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", repositoryOptions?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "repositoryOptions",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!RepositoryBooter#app:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "app: "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithRepositories",
                  "canonicalReference": "@loopback/repository!ApplicationWithRepositories:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!RepositoryBooter#load:member(1)",
              "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": "Content",
                  "text": "load(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "load"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!RepositoryBooter#repositoryOptions:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "repositoryOptions: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "repositoryOptions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/boot!RepositoryDefaults:var",
          "docComment": "/**\n * Default ArtifactOptions for RepositoryBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "RepositoryDefaults: "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions",
              "canonicalReference": "@loopback/boot!ArtifactOptions:type"
            }
          ],
          "releaseTag": "Public",
          "name": "RepositoryDefaults",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/boot!RestDefaults:var",
          "docComment": "/**\n * Default ArtifactOptions for ControllerBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "RestDefaults: "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions",
              "canonicalReference": "@loopback/boot!ArtifactOptions:type"
            }
          ],
          "releaseTag": "Public",
          "name": "RestDefaults",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/boot!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 ServiceBooter extends "
            },
            {
              "kind": "Reference",
              "text": "BaseArtifactBooter",
              "canonicalReference": "@loopback/boot!BaseArtifactBooter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "ServiceBooter",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/boot!ServiceBooter:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `ServiceBooter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(app: "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithServices",
                  "canonicalReference": "@loopback/service-proxy!ApplicationWithServices:interface"
                },
                {
                  "kind": "Content",
                  "text": ", projectRoot: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", serviceConfig?: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "app",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                },
                {
                  "parameterName": "projectRoot",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  }
                },
                {
                  "parameterName": "serviceConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!ServiceBooter#app:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "app: "
                },
                {
                  "kind": "Reference",
                  "text": "ApplicationWithServices",
                  "canonicalReference": "@loopback/service-proxy!ApplicationWithServices:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "app",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/boot!ServiceBooter#load:member(1)",
              "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": "Content",
                  "text": "load(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "load"
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/boot!ServiceBooter#serviceConfig:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "serviceConfig: "
                },
                {
                  "kind": "Reference",
                  "text": "ArtifactOptions",
                  "canonicalReference": "@loopback/boot!ArtifactOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "serviceConfig",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/boot!ServiceDefaults:var",
          "docComment": "/**\n * Default ArtifactOptions for DataSourceBooter.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "ServiceDefaults: "
            },
            {
              "kind": "Reference",
              "text": "ArtifactOptions",
              "canonicalReference": "@loopback/boot!ArtifactOptions:type"
            }
          ],
          "releaseTag": "Public",
          "name": "ServiceDefaults",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        }
      ]
    }
  ]
}
