{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.7.10",
    "schemaVersion": 1003,
    "oldestForwardsCompatibleVersion": 1001
  },
  "kind": "Package",
  "canonicalReference": "@loopback/cron!",
  "docComment": "",
  "name": "@loopback/cron",
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@loopback/cron!",
      "name": "",
      "members": [
        {
          "kind": "Function",
          "canonicalReference": "@loopback/cron!asCronJob:function(1)",
          "docComment": "/**\n * A `BindingTemplate` function to configure the binding as a cron job.\n *\n * @param binding - Binding object\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function asCronJob<T = "
            },
            {
              "kind": "Content",
              "text": "unknown"
            },
            {
              "kind": "Content",
              "text": ">(binding: "
            },
            {
              "kind": "Reference",
              "text": "Binding",
              "canonicalReference": "@loopback/context!Binding:class"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Binding",
              "canonicalReference": "@loopback/context!Binding:class"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 6,
            "endIndex": 8
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "binding",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "asCronJob"
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/cron!CRON_JOB_SCHEDULER:var",
          "docComment": "/**\n * Name of the cron job extension point\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "CRON_JOB_SCHEDULER = \"cron.jobScheduler\""
            }
          ],
          "releaseTag": "Public",
          "name": "CRON_JOB_SCHEDULER",
          "variableTypeTokenRange": {
            "startIndex": 0,
            "endIndex": 0
          }
        },
        {
          "kind": "Namespace",
          "canonicalReference": "@loopback/cron!CronBindings:namespace",
          "docComment": "/**\n * Binding keys used by this component.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare namespace CronBindings "
            }
          ],
          "releaseTag": "Public",
          "name": "CronBindings",
          "members": [
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/cron!CronBindings.COMPONENT:var",
              "docComment": "/**\n * Binding key for `CronComponent`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "COMPONENT: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "CronComponent",
                  "canonicalReference": "@loopback/cron!CronComponent:class"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "COMPONENT",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/cron!CronBindings.CRON_JOB_NAMESPACE:var",
              "docComment": "/**\n * Namespace for cron jobs\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "CRON_JOB_NAMESPACE = \"cron.jobs\""
                }
              ],
              "releaseTag": "Public",
              "name": "CRON_JOB_NAMESPACE",
              "variableTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/cron!CronComponent:class",
          "docComment": "/**\n * The CronComponent manages cron jobs. It serves as an extension point for cron jobs.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class CronComponent implements "
            },
            {
              "kind": "Reference",
              "text": "Component",
              "canonicalReference": "@loopback/core!Component:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "LifeCycleObserver",
              "canonicalReference": "@loopback/core!LifeCycleObserver:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "CronComponent",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/cron!CronComponent:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `CronComponent` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(getJobs: "
                },
                {
                  "kind": "Reference",
                  "text": "Getter",
                  "canonicalReference": "@loopback/context!Getter:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "CronJob",
                  "canonicalReference": "@loopback/cron!CronJob:class"
                },
                {
                  "kind": "Content",
                  "text": "[]>"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "getJobs",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/cron!CronComponent#getJobs:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly getJobs: "
                },
                {
                  "kind": "Reference",
                  "text": "Getter",
                  "canonicalReference": "@loopback/context!Getter:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "CronJob",
                  "canonicalReference": "@loopback/cron!CronJob:class"
                },
                {
                  "kind": "Content",
                  "text": "[]>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "getJobs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/cron!CronComponent#start:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "start(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "start"
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/cron!CronComponent#stop:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "stop(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "stop"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            },
            {
              "startIndex": 3,
              "endIndex": 5
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/cron!CronJob:class",
          "docComment": "/**\n * Cron job with an optional name\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class CronJob extends "
            },
            {
              "kind": "Reference",
              "text": "BaseCronJob",
              "canonicalReference": "@types/cron!CronJob:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "CronJob",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/cron!CronJob:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `CronJob` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options: "
                },
                {
                  "kind": "Reference",
                  "text": "CronJobOptions",
                  "canonicalReference": "@loopback/cron!CronJobOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/cron!CronJob#emitter:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly emitter: "
                },
                {
                  "kind": "Reference",
                  "text": "EventEmitter",
                  "canonicalReference": "!internal.EventEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "emitter",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/cron!CronJob#name:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/cron!CronJob#onError:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "onError(listener: "
                },
                {
                  "kind": "Content",
                  "text": "(err: unknown) => void"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "listener",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "onError"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/cron!cronJob:function(1)",
          "docComment": "/**\n * `@cronJob` decorates a cron job provider class\n *\n * @param specs - Extra binding specs\n *\n * @example\n * ```ts\n * @cronJob()\n * class CronJobProvider implements Provider<CronJob> {\n *   constructor(@config() private jobConfig: CronJobConfig = {}) {}\n *   value() {\n *     // ...\n *   }\n * }\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function cronJob(...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": 4,
            "endIndex": 5
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "specs",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            }
          ],
          "name": "cronJob"
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/cron!CronJobConfig:type",
          "docComment": "/**\n * Configuration for a cron job.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type CronJobConfig = "
            },
            {
              "kind": "Reference",
              "text": "Partial",
              "canonicalReference": "!Partial:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "CronJobOptions",
              "canonicalReference": "@loopback/cron!CronJobOptions:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "CronJobConfig",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 5
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/cron!CronJobOptions:type",
          "docComment": "/**\n * Options for a cron job. It adds an optional `name` to cron parameters.\n *\n * {@link https://github.com/kelektiv/node-cron#api | cron configuration}\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type CronJobOptions = "
            },
            {
              "kind": "Reference",
              "text": "CronJobParameters",
              "canonicalReference": "@types/cron!CronJobParameters:interface"
            },
            {
              "kind": "Content",
              "text": " & {\n    name?: string;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "CronJobOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          }
        }
      ]
    }
  ]
}
