(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/router'), require('@iotize/ionic'), require('@iotize/ionic/auth'), require('@iotize/ionic/config')) :
    typeof define === 'function' && define.amd ? define('@iotize/ionic/default', ['exports', '@angular/core', '@angular/router', '@iotize/ionic', '@iotize/ionic/auth', '@iotize/ionic/config'], factory) :
    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.iotize = global.iotize || {}, global.iotize.ionic = global.iotize.ionic || {}, global.iotize.ionic.default = {}), global.ng.core, global.ng.router, global.iotize.ionic, global.iotize.ionic.auth, global.iotize.ionic.config));
}(this, (function (exports, i0, router, ionic, auth, config) { 'use strict';

    var TapDeviceAngularModule = /** @class */ (function () {
        function TapDeviceAngularModule() {
        }
        TapDeviceAngularModule.forRoot = function (tapAuthGuardConfig) {
            if (tapAuthGuardConfig === void 0) { tapAuthGuardConfig = {
                loginUrl: '/device/login',
            }; }
            return {
                ngModule: TapDeviceAngularModule,
                providers: [
                    {
                        provide: auth.DEVICE_AUTH_GUARD_CONFIG,
                        useValue: tapAuthGuardConfig,
                    },
                    {
                        provide: ionic.TAP_INFO_RESOLVER_CONFIG,
                        useValue: config.defaultInfoResolverConfig,
                    },
                    ionic.InfoResolverService,
                    ionic.CurrentDeviceService,
                ],
            };
        };
        return TapDeviceAngularModule;
    }());
    /** @nocollapse */ TapDeviceAngularModule.ɵfac = function TapDeviceAngularModule_Factory(t) { return new (t || TapDeviceAngularModule)(); };
    /** @nocollapse */ TapDeviceAngularModule.ɵmod = i0.ɵɵdefineNgModule({ type: TapDeviceAngularModule });
    /** @nocollapse */ TapDeviceAngularModule.ɵinj = i0.ɵɵdefineInjector({ providers: [ionic.ConnectedTapResolver, ionic.TapConnectionService], imports: [[router.RouterModule]] });
    (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TapDeviceAngularModule, { imports: [router.RouterModule] }); })();
    (function () {
        (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TapDeviceAngularModule, [{
                type: i0.NgModule,
                args: [{
                        declarations: [],
                        providers: [ionic.ConnectedTapResolver, ionic.TapConnectionService],
                        imports: [router.RouterModule],
                        exports: [],
                    }]
            }], null, null);
    })();

    /**
     * Generated bundle index. Do not edit.
     */

    exports.TapDeviceAngularModule = TapDeviceAngularModule;

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

})));
//# sourceMappingURL=iotize-ionic-default.umd.js.map
