import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { TAP_INFO_RESOLVER_CONFIG, InfoResolverService, CurrentDeviceService, ConnectedTapResolver, TapConnectionService } from '@iotize/ionic';
import { DEVICE_AUTH_GUARD_CONFIG } from '@iotize/ionic/auth';
import { defaultInfoResolverConfig } from '@iotize/ionic/config';

/**
 * @fileoverview added by tsickle
 * Generated from: lib/tap-device-angular.module.ts
 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
 */
var TapDeviceAngularModule = /** @class */ (function () {
    function TapDeviceAngularModule() {
    }
    /**
     * @param {?=} tapAuthGuardConfig
     * @return {?}
     */
    TapDeviceAngularModule.forRoot = /**
     * @param {?=} tapAuthGuardConfig
     * @return {?}
     */
    function (tapAuthGuardConfig) {
        if (tapAuthGuardConfig === void 0) { tapAuthGuardConfig = {
            loginUrl: '/device/login'
        }; }
        return {
            ngModule: TapDeviceAngularModule,
            providers: [
                {
                    provide: DEVICE_AUTH_GUARD_CONFIG,
                    useValue: tapAuthGuardConfig
                },
                {
                    provide: TAP_INFO_RESOLVER_CONFIG,
                    useValue: defaultInfoResolverConfig
                },
                InfoResolverService,
                CurrentDeviceService
            ]
        };
    };
    TapDeviceAngularModule.decorators = [
        { type: NgModule, args: [{
                    declarations: [],
                    providers: [
                        ConnectedTapResolver,
                        TapConnectionService
                    ],
                    imports: [
                        RouterModule
                    ],
                    exports: []
                },] }
    ];
    return TapDeviceAngularModule;
}());

/**
 * @fileoverview added by tsickle
 * Generated from: public_api.ts
 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
 */

/**
 * @fileoverview added by tsickle
 * Generated from: iotize-ionic-default.ts
 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
 */

export { TapDeviceAngularModule };
//# sourceMappingURL=iotize-ionic-default.js.map
