(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@iotize/tap'), require('@iotize/tap/firmware-update')) :
    typeof define === 'function' && define.amd ? define('@iotize/tap/ext/firmware-update', ['exports', '@iotize/tap', '@iotize/tap/firmware-update'], factory) :
    (global = global || self, factory((global.iotize = global.iotize || {}, global.iotize.tap = global.iotize.tap || {}, global.iotize.tap.ext = global.iotize.tap.ext || {}, global.iotize.tap.ext['firmware-update'] = {}), global.iotize.tap, global.iotize.tap['firmware-update']));
}(this, (function (exports, tap, firmwareUpdate) { 'use strict';

    var ɵ0 = function (context) { return new TapFirmwareUpdateExtension(context); };
    var _TAP_EXTENSION_FIRMWARE_UPDATE_ = tap.defineTapPropertyExtension('firmwareUpdater', ɵ0);
    /**
     * @deprecated use _TAP_EXTENSION_FIRMWARE_UPDATE_ instead
     */
    var __DEFINED_PROPERTY_GETTER_FIRMWARE_UPDATE_ = _TAP_EXTENSION_FIRMWARE_UPDATE_;
    var TapFirmwareUpdateExtension = /** @class */ (function () {
        function TapFirmwareUpdateExtension(context) {
            this.context = context;
        }
        TapFirmwareUpdateExtension.prototype.createLoader = function (packet, options) {
            return firmwareUpdate.TapNLinkUpdater.create(this.context.tap, packet, options);
        };
        TapFirmwareUpdateExtension.prototype.apply = function (packet, options) {
            return this.createLoader(packet, options).asObservable();
        };
        return TapFirmwareUpdateExtension;
    }());

    exports._TAP_EXTENSION_FIRMWARE_UPDATE_ = _TAP_EXTENSION_FIRMWARE_UPDATE_;
    exports.__DEFINED_PROPERTY_GETTER_FIRMWARE_UPDATE_ = __DEFINED_PROPERTY_GETTER_FIRMWARE_UPDATE_;

    Object.defineProperty(exports, '__esModule', { value: true });

})));
//# sourceMappingURL=iotize-tap-ext-firmware-update.umd.js.map
