constructor(options) {
        this.config = options.config;
        this.robot = options.robot;

        /** @type {import("../entities/core/updater/ValetudoUpdaterState")} */
        this.state = undefined;
        /** @type {import("./lib/update_provider/ValetudoUpdateProvider")} */
        this.updateProvider = undefined;

        this.config.onUpdate((key) => {
            if (key === "updater") {
                this.reconfigure();
            }
        });

        this.cleanupHandler = () => {};
        this.pendingCleanupTimeout = undefined;

        this.reconfigure();
    }
@param {object} options
@param {import("../Configuration")} options.config
@param {import("../core/ValetudoRobot")} options.robot