(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common/http'), require('@ngrx/effects'), require('@angular/core'), require('rxjs'), require('rxjs/operators'), require('@ionic/storage'), require('@eui/base')) :
    typeof define === 'function' && define.amd ? define('@eui/ionic', ['exports', '@angular/common/http', '@ngrx/effects', '@angular/core', 'rxjs', 'rxjs/operators', '@ionic/storage', '@eui/base'], factory) :
    (factory((global.eui = global.eui || {}, global.eui.ionic = {}),global.ng.common.http,global.effects,global.ng.core,global.rxjs,global.rxjs.operators,global.storage,global.base));
}(this, (function (exports,http,effects,core,rxjs,operators,storage,base) { 'use strict';

    /*! *****************************************************************************
    Copyright (c) Microsoft Corporation. All rights reserved.
    Licensed under the Apache License, Version 2.0 (the "License"); you may not use
    this file except in compliance with the License. You may obtain a copy of the
    License at http://www.apache.org/licenses/LICENSE-2.0

    THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
    WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
    MERCHANTABLITY OR NON-INFRINGEMENT.

    See the Apache Version 2.0 License for specific language governing permissions
    and limitations under the License.
    ***************************************************************************** */
    /* global Reflect, Promise */
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b)
                if (b.hasOwnProperty(p))
                    d[p] = b[p]; };
        return extendStatics(d, b);
    };
    function __extends(d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    }
    function __read(o, n) {
        var m = typeof Symbol === "function" && o[Symbol.iterator];
        if (!m)
            return o;
        var i = m.call(o), r, ar = [], e;
        try {
            while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
                ar.push(r.value);
        }
        catch (error) {
            e = { error: error };
        }
        finally {
            try {
                if (r && !r.done && (m = i["return"]))
                    m.call(i);
            }
            finally {
                if (e)
                    throw e.error;
            }
        }
        return ar;
    }
    function __spread() {
        for (var ar = [], i = 0; i < arguments.length; i++)
            ar = ar.concat(__read(arguments[i]));
        return ar;
    }

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */
    /**
     * ionic storage service, using the \@ionic/storage library
     * https://ionicframework.com/docs/building/storage
     */
    var IonicStorageService = /** @class */ (function (_super) {
        __extends(IonicStorageService, _super);
        function IonicStorageService(storage$$1, log) {
            var _this = _super.call(this) || this;
            _this.storage = storage$$1;
            _this.log = log;
            return _this;
        }
        /**
         * the name of the storage service
         */
        /**
         * the name of the storage service
         * @return {?}
         */
        IonicStorageService.prototype.name = /**
         * the name of the storage service
         * @return {?}
         */
            function () {
                return IonicStorageService.NAME;
            };
        /**
         * reflects the readiness of the storage
         * @returns one time emission Observable<void>
         */
        /**
         * reflects the readiness of the storage
         * @return {?} one time emission Observable<void>
         */
        IonicStorageService.prototype.ready = /**
         * reflects the readiness of the storage
         * @return {?} one time emission Observable<void>
         */
            function () {
                var _this = this;
                return rxjs.from(this.storage.ready())
                    .pipe(operators.take(1), operators.tap(( /**
             * @return {?}
             */function () {
                }), ( /**
                 * @param {?} err
                 * @return {?}
                 */function (err) {
                    if (_this.log) {
                        _this.log.error(_this.name(), 'ready', err);
                    }
                })));
            };
        /**
         * retrieve an object from storage
         * @param key the associated key
         * @returns one time emission Observable of value
         */
        /**
         * retrieve an object from storage
         * @param {?} key the associated key
         * @return {?} one time emission Observable of value
         */
        IonicStorageService.prototype.get = /**
         * retrieve an object from storage
         * @param {?} key the associated key
         * @return {?} one time emission Observable of value
         */
            function (key) {
                var _this = this;
                return rxjs.from(this.storage.get(key))
                    .pipe(operators.take(1), operators.tap(( /**
             * @return {?}
             */function () {
                }), ( /**
                 * @param {?} err
                 * @return {?}
                 */function (err) {
                    if (_this.log) {
                        _this.log.error(_this.name(), 'get', err);
                    }
                })));
            };
        /**
         * sets an object in storage
         * @param key the associated key
         * @param value the value to set
         * @returns one time emission Observable
         */
        /**
         * sets an object in storage
         * @param {?} key the associated key
         * @param {?} value the value to set
         * @return {?} one time emission Observable
         */
        IonicStorageService.prototype.set = /**
         * sets an object in storage
         * @param {?} key the associated key
         * @param {?} value the value to set
         * @return {?} one time emission Observable
         */
            function (key, value) {
                var _this = this;
                return rxjs.from(this.storage.set(key, value))
                    .pipe(operators.take(1), operators.tap(( /**
             * @return {?}
             */function () {
                }), ( /**
                 * @param {?} err
                 * @return {?}
                 */function (err) {
                    if (_this.log) {
                        _this.log.error(_this.name(), 'set', err);
                    }
                })));
            };
        /**
         * removes an object from storage
         * @param key the associated key
         * @returns one time emission Observable
         */
        /**
         * removes an object from storage
         * @param {?} key the associated key
         * @return {?} one time emission Observable
         */
        IonicStorageService.prototype.remove = /**
         * removes an object from storage
         * @param {?} key the associated key
         * @return {?} one time emission Observable
         */
            function (key) {
                var _this = this;
                return rxjs.from(this.storage.remove(key))
                    .pipe(operators.take(1), operators.tap(( /**
             * @return {?}
             */function () {
                }), ( /**
                 * @param {?} err
                 * @return {?}
                 */function (err) {
                    if (_this.log) {
                        _this.log.error(_this.name(), 'remove', err);
                    }
                })));
            };
        IonicStorageService.NAME = 'IonicStorageService';
        IonicStorageService.decorators = [
            { type: core.Injectable }
        ];
        /** @nocollapse */
        IonicStorageService.ctorParameters = function () {
            return [
                { type: storage.Storage },
                { type: base.LogService, decorators: [{ type: core.Optional }] }
            ];
        };
        return IonicStorageService;
    }(base.AsyncStorageService));

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */
    /** @enum {?} */
    var IonicAppActionTypes = {};

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */
    /** @enum {?} */
    var IonicUserActionTypes = {};

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */
    /** @type {?} */
    var IonicModuleEffects = __spread(base.BaseModuleEffects);

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */
    /** @type {?} */
    var initialIonicAppState = Object.assign({}, base.initialBaseAppState, {});

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */
    /** @type {?} */
    var actionToReducerMap = {};
    /** @type {?} */
    var ionicAppReducers = ( /**
     * @param {?=} state
     * @param {?=} action
     * @return {?}
     */function (state, action) {
        if (state === void 0) {
            state = initialIonicAppState;
        }
        if (actionToReducerMap[action.type]) {
            return actionToReducerMap[action.type](state, action);
        }
        // if the action type is not in the map, call the base reducers method
        return ( /** @type {?} */(base.baseAppReducers(state, action)));
    });

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */
    /** @type {?} */
    var initialIonicUserState = Object.assign({}, base.initialBaseUserState, {});

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */
    /** @type {?} */
    var actionToReducerMap$1 = {};
    /** @type {?} */
    var ionicUserReducers = ( /**
     * @param {?=} state
     * @param {?=} action
     * @return {?}
     */function (state, action) {
        if (state === void 0) {
            state = initialIonicUserState;
        }
        if (actionToReducerMap$1[action.type]) {
            return actionToReducerMap$1[action.type](state, action);
        }
        // if the action type is not in the map, call the base reducers method
        return ( /** @type {?} */(base.baseUserReducers(state, action)));
    });

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */
    /** @type {?} */
    var ionicReducers = Object.assign({}, base.baseReducers, {
        app: ionicAppReducers,
        user: ionicUserReducers,
    });

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */
    /** @type {?} */
    var initialIonicState = Object.assign({}, base.initialBaseState, {
        app: initialIonicAppState,
        user: initialIonicUserState,
    });

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */
    /**
     * @param {?=} ionicConfig
     * @return {?}
     */
    function getRootProviders(ionicConfig) {
        if (ionicConfig === void 0) {
            ionicConfig = base.DEFAULT_BASE_CONFIG;
        }
        return __spread(base.getBaseRootProviders(ionicConfig), [
            // ionic config
            { provide: base.BASE_NAME_TOKEN, useValue: 'eui-ionic' },
            // storage services
            IonicStorageService,
            { provide: base.AsyncStorageService, useExisting: IonicStorageService },
        ]);
    }
    /**
     * @param {?} moduleName
     * @return {?}
     */
    function getChildProviders(moduleName) {
        return __spread(base.getBaseChildProviders(moduleName));
    }
    var IonicModule = /** @class */ (function (_super) {
        __extends(IonicModule, _super);
        function IonicModule(parentModule, injector) {
            return _super.call(this, parentModule, injector) || this;
        }
        /**
         * @param {?=} ionicConfig
         * @return {?}
         */
        IonicModule.forRoot = /**
         * @param {?=} ionicConfig
         * @return {?}
         */
            function (ionicConfig) {
                if (ionicConfig === void 0) {
                    ionicConfig = base.DEFAULT_BASE_CONFIG;
                }
                return {
                    ngModule: IonicModule,
                    providers: __spread(getRootProviders(ionicConfig), [
                        // ionic app initializer
                        { provide: core.APP_INITIALIZER, useFactory: base.baseInitApp, multi: true, deps: [base.APP_CONFIG_TOKEN, core.Injector] },
                    ]),
                };
            };
        /**
         * @param {?} moduleName
         * @return {?}
         */
        IonicModule.forChild = /**
         * @param {?} moduleName
         * @return {?}
         */
            function (moduleName) {
                return {
                    ngModule: IonicModule,
                    providers: getChildProviders(moduleName),
                };
            };
        IonicModule.decorators = [
            { type: core.NgModule, args: [{
                        imports: [
                            http.HttpClientModule,
                            effects.EffectsModule.forRoot(IonicModuleEffects),
                        ],
                    },] }
        ];
        /** @nocollapse */
        IonicModule.ctorParameters = function () {
            return [
                { type: IonicModule, decorators: [{ type: core.Optional }, { type: core.SkipSelf }] },
                { type: core.Injector }
            ];
        };
        return IonicModule;
    }(base.BaseModule));

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */

    /**
     * @fileoverview added by tsickle
     * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
     */

    exports.ɵa = base.ɵa;
    exports.ɵb = base.ɵb;
    exports.UxBaseBlockDocumentComponentModule = base.UxBaseBlockDocumentComponentModule;
    exports.UxBaseGrowlComponentModule = base.UxBaseGrowlComponentModule;
    exports.getBaseRootProviders = base.getBaseRootProviders;
    exports.getBaseChildProviders = base.getBaseChildProviders;
    exports.errorFeedbackServiceFactory = base.errorFeedbackServiceFactory;
    exports.BaseModule = base.BaseModule;
    exports.baseInitApp = base.baseInitApp;
    exports.basePreInitApp = base.basePreInitApp;
    exports.getBaseAppConfig = base.getBaseAppConfig;
    exports.getBaseGlobalConfig = base.getBaseGlobalConfig;
    exports.getCoreModuleConfig = base.getCoreModuleConfig;
    exports.getModuleConfig = base.getModuleConfig;
    exports.getUserApiConfig = base.getUserApiConfig;
    exports.getDefaultUserPreferencesConfig = base.getDefaultUserPreferencesConfig;
    exports.getShowConnectionStatus = base.getShowConnectionStatus;
    exports.getHttpErrorHandlerConfig = base.getHttpErrorHandlerConfig;
    exports.getErrorMappingHandler = base.getErrorMappingHandler;
    exports.BASE_NAME_TOKEN = base.BASE_NAME_TOKEN;
    exports.BASE_CONFIG_TOKEN = base.BASE_CONFIG_TOKEN;
    exports.APP_CONFIG_TOKEN = base.APP_CONFIG_TOKEN;
    exports.GLOBAL_CONFIG_TOKEN = base.GLOBAL_CONFIG_TOKEN;
    exports.MODULE_NAME_TOKEN = base.MODULE_NAME_TOKEN;
    exports.MODULE_CONFIG_TOKEN = base.MODULE_CONFIG_TOKEN;
    exports.DEFAULT_BASE_GLOBAL_CONFIG = base.DEFAULT_BASE_GLOBAL_CONFIG;
    exports.DEFAULT_CORE_MODULE_CONFIG = base.DEFAULT_CORE_MODULE_CONFIG;
    exports.DEFAULT_MODULES_CONFIG = base.DEFAULT_MODULES_CONFIG;
    exports.DEFAULT_MODULE_CONFIG = base.DEFAULT_MODULE_CONFIG;
    exports.DEFAULT_VERSIONS_CONFIG = base.DEFAULT_VERSIONS_CONFIG;
    exports.DEFAULT_BASE_APP_CONFIG = base.DEFAULT_BASE_APP_CONFIG;
    exports.DEFAULT_BASE_ENVIRONMENT_CONFIG = base.DEFAULT_BASE_ENVIRONMENT_CONFIG;
    exports.DEFAULT_BASE_CONFIG = base.DEFAULT_BASE_CONFIG;
    exports.loadDynamicEnvironmentConfig = base.loadDynamicEnvironmentConfig;
    exports.euiLogServiceFactory = base.euiLogServiceFactory;
    exports.GlobalErrorHandler = base.GlobalErrorHandler;
    exports.AlertHttpErrorCallbackFn = base.AlertHttpErrorCallbackFn;
    exports.ConsoleHttpErrorCallbackFn = base.ConsoleHttpErrorCallbackFn;
    exports.HTTP_ERROR_HANDLER_CONFIG_TOKEN = base.HTTP_ERROR_HANDLER_CONFIG_TOKEN;
    exports.DEFAULT_HTTP_ERROR_HANDLER_CONFIG = base.DEFAULT_HTTP_ERROR_HANDLER_CONFIG;
    exports.HttpErrorHandlerInterceptor = base.HttpErrorHandlerInterceptor;
    exports.translateConfig = base.translateConfig;
    exports.I18nResourceImpl = base.I18nResourceImpl;
    exports.I18N_LOADER_CONFIG_TOKEN = base.I18N_LOADER_CONFIG_TOKEN;
    exports.I18nLoader = base.I18nLoader;
    exports.I18N_SERVICE_CONFIG_TOKEN = base.I18N_SERVICE_CONFIG_TOKEN;
    exports.I18nService = base.I18nService;
    exports.I18nServiceMock = base.I18nServiceMock;
    exports.getI18nServiceConfig = base.getI18nServiceConfig;
    exports.getI18nLoaderConfig = base.getI18nLoaderConfig;
    exports.DEFAULT_I18N_SERVICE_CONFIG = base.DEFAULT_I18N_SERVICE_CONFIG;
    exports.DEFAULT_I18N_LOADER_CONFIG = base.DEFAULT_I18N_LOADER_CONFIG;
    exports.LANG_PARAM_KEY = base.LANG_PARAM_KEY;
    exports.AddLangParamInterceptor = base.AddLangParamInterceptor;
    exports.CachePreventionInterceptor = base.CachePreventionInterceptor;
    exports.CorsSecurityInterceptor = base.CorsSecurityInterceptor;
    exports.CsrfPreventionInterceptor = base.CsrfPreventionInterceptor;
    exports.EuLoginSessionTimeoutHandlingInterceptor = base.EuLoginSessionTimeoutHandlingInterceptor;
    exports.UX_ERROR_MAPPING_HANDLER_TOKEN = base.UX_ERROR_MAPPING_HANDLER_TOKEN;
    exports.UxRequestErrorModelInterceptor = base.UxRequestErrorModelInterceptor;
    exports.LOG_LEVEL = base.LOG_LEVEL;
    exports.LogLevel = base.LogLevel;
    exports.LogLevelName = base.LogLevelName;
    exports.isLogConfigDefined = base.isLogConfigDefined;
    exports.getLogLevelConfig = base.getLogLevelConfig;
    exports.getTraceLevelConfig = base.getTraceLevelConfig;
    exports.getLogAppendersConfig = base.getLogAppendersConfig;
    exports.logServiceFactory = base.logServiceFactory;
    exports.DEFAULT_LOG_CONFIG = base.DEFAULT_LOG_CONFIG;
    exports.LogAppender = base.LogAppender;
    exports.DEFAULT_CONSOLE_APPENDER_PREFIX_CONVERTERS = base.DEFAULT_CONSOLE_APPENDER_PREFIX_CONVERTERS;
    exports.ConsoleAppender = base.ConsoleAppender;
    exports.UrlAppender = base.UrlAppender;
    exports.Logger = base.Logger;
    exports.LoggerMock = base.LoggerMock;
    exports.BASE_LOGGER_NAME_TOKEN = base.BASE_LOGGER_NAME_TOKEN;
    exports.LOG_LEVEL_TOKEN = base.LOG_LEVEL_TOKEN;
    exports.LOG_APPENDERS_TOKEN = base.LOG_APPENDERS_TOKEN;
    exports.LogService = base.LogService;
    exports.LogServiceMock = base.LogServiceMock;
    exports.LOG_CONFIG_TOKEN = base.LOG_CONFIG_TOKEN;
    exports.LogModule = base.LogModule;
    exports.OpenIdConnectInterceptor = base.OpenIdConnectInterceptor;
    exports.OpenIdConnectService = base.OpenIdConnectService;
    exports.OpenIdConnectServiceMock = base.OpenIdConnectServiceMock;
    exports.StorageService = base.StorageService;
    exports.StorageServiceMock = base.StorageServiceMock;
    exports.AsyncStorageService = base.AsyncStorageService;
    exports.AsyncStorageServiceMock = base.AsyncStorageServiceMock;
    exports.LocalStorageService = base.LocalStorageService;
    exports.SessionStorageService = base.SessionStorageService;
    exports.LOCAL_FORAGE_SERVICE_CONFIG_TOKEN = base.LOCAL_FORAGE_SERVICE_CONFIG_TOKEN;
    exports.LocalForageService = base.LocalForageService;
    exports.BaseAppActionTypes = base.BaseAppActionTypes;
    exports.InitStoreAction = base.InitStoreAction;
    exports.UpdateAppVersionAction = base.UpdateAppVersionAction;
    exports.UpdateAppConnectionAction = base.UpdateAppConnectionAction;
    exports.BaseUserActionTypes = base.BaseUserActionTypes;
    exports.UpdateUserDetailsAction = base.UpdateUserDetailsAction;
    exports.UpdateUserPreferencesAction = base.UpdateUserPreferencesAction;
    exports.BaseModuleEffects = base.BaseModuleEffects;
    exports.BaseAppEffects = base.BaseAppEffects;
    exports.initialBaseUserDetails = base.initialBaseUserDetails;
    exports.initialBaseUserPreferences = base.initialBaseUserPreferences;
    exports.baseReducers = base.baseReducers;
    exports.localStorageSync = base.localStorageSync;
    exports.baseAppReducers = base.baseAppReducers;
    exports.baseUserReducers = base.baseUserReducers;
    exports.getAppState = base.getAppState;
    exports.getUserState = base.getUserState;
    exports.getAppVersion = base.getAppVersion;
    exports.getAppConnection = base.getAppConnection;
    exports.getUserDetails = base.getUserDetails;
    exports.getUserPreferences = base.getUserPreferences;
    exports.getUserId = base.getUserId;
    exports.getUserFirstName = base.getUserFirstName;
    exports.getUserLastName = base.getUserLastName;
    exports.getUserFullName = base.getUserFullName;
    exports.getUserLang = base.getUserLang;
    exports.initialBaseState = base.initialBaseState;
    exports.initialBaseAppState = base.initialBaseAppState;
    exports.initialBaseUserState = base.initialBaseUserState;
    exports.StoreService = base.StoreService;
    exports.StoreServiceMock = base.StoreServiceMock;
    exports.DEFAULT_USER_API_CONFIG = base.DEFAULT_USER_API_CONFIG;
    exports.USER_API_CONFIG_TOKEN = base.USER_API_CONFIG_TOKEN;
    exports.DEFAULT_USER_PREFERENCES_TOKEN = base.DEFAULT_USER_PREFERENCES_TOKEN;
    exports.UserService = base.UserService;
    exports.UserServiceMock = base.UserServiceMock;
    exports.isObject = base.isObject;
    exports.merge = base.merge;
    exports.mergeDeep = base.mergeDeep;
    exports.mergeAll = base.mergeAll;
    exports.xhr = base.xhr;
    exports.DEFAULT_XHR_CONFIG = base.DEFAULT_XHR_CONFIG;
    exports.UxModal = base.UxModal;
    exports.UxService = base.UxService;
    exports.UX_COLORS = base.UX_COLORS;
    exports.UX_COUNTRIES = base.UX_COUNTRIES;
    exports.UX_TIMEZONES = base.UX_TIMEZONES;
    exports.UxDomService = base.UxDomService;
    exports.UxAppShellService = base.UxAppShellService;
    exports.UxAssetsService = base.UxAssetsService;
    exports.UxTimezoneService = base.UxTimezoneService;
    exports.UxErrorFeedbackService = base.UxErrorFeedbackService;
    exports.UxErrorManager = base.UxErrorManager;
    exports.DEFAULT_AUTH_CONFIG = base.DEFAULT_AUTH_CONFIG;
    exports.AUTH_CONFIG_TOKEN = base.AUTH_CONFIG_TOKEN;
    exports.UxAuthService = base.UxAuthService;
    exports.UxAuthGuardService = base.UxAuthGuardService;
    exports.UxPermissionService = base.UxPermissionService;
    exports.UxDynamicMenuService = base.UxDynamicMenuService;
    exports.withUxErrorManager = base.withUxErrorManager;
    exports.UxBadge = base.UxBadge;
    exports.transformToUxHttpResponse = base.transformToUxHttpResponse;
    exports.UxErrorOutput = base.UxErrorOutput;
    exports.UxErrorGroupOnClickEvent = base.UxErrorGroupOnClickEvent;
    exports.UxMessageSeverity = base.UxMessageSeverity;
    exports.UxMessageSeverityMetrics = base.UxMessageSeverityMetrics;
    exports.UxValidationErrorClass = base.UxValidationErrorClass;
    exports.UxPublishErrorFeedbackEvent = base.UxPublishErrorFeedbackEvent;
    exports.UxClearErrorFeedbackEvent = base.UxClearErrorFeedbackEvent;
    exports.UxLink = base.UxLink;
    exports.UxMessage = base.UxMessage;
    exports.UxTimezones = base.UxTimezones;
    exports.UxLanguage = base.UxLanguage;
    exports.UxEuLanguages = base.UxEuLanguages;
    exports.initApp = base.baseInitApp;
    exports.preInitApp = base.basePreInitApp;
    exports.DEFAULT_IONIC_CONFIG = base.DEFAULT_BASE_CONFIG;
    exports.DEFAULT_APP_CONFIG = base.DEFAULT_BASE_APP_CONFIG;
    exports.DEFAULT_GLOBAL_CONFIG = base.DEFAULT_BASE_GLOBAL_CONFIG;
    exports.DEFAULT_ENVIRONMENT_CONFIG = base.DEFAULT_BASE_ENVIRONMENT_CONFIG;
    exports.getRootProviders = getRootProviders;
    exports.getChildProviders = getChildProviders;
    exports.IonicModule = IonicModule;
    exports.IonicStorageService = IonicStorageService;
    exports.IonicAppActionTypes = IonicAppActionTypes;
    exports.IonicUserActionTypes = IonicUserActionTypes;
    exports.IonicModuleEffects = IonicModuleEffects;
    exports.reducers = ionicReducers;
    exports.ionicAppReducers = ionicAppReducers;
    exports.ionicUserReducers = ionicUserReducers;
    exports.initialAppState = initialIonicAppState;
    exports.initialUserState = initialIonicUserState;
    exports.initialIonicState = initialIonicState;

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

})));

//# sourceMappingURL=eui-ionic.umd.js.map