"use strict";
var core_1 = require('@angular/core');
var platform_browser_1 = require('@angular/platform-browser');
var forms_1 = require('@angular/forms');
var http_1 = require('@angular/http');
var action_sheet_component_1 = require('./components/action-sheet/action-sheet-component');
var alert_component_1 = require('./components/alert/alert-component');
var directives_1 = require('./directives');
var app_root_1 = require('./components/app/app-root');
var providers_1 = require('./providers');
var loading_component_1 = require('./components/loading/loading-component');
var modal_component_1 = require('./components/modal/modal-component');
var picker_component_1 = require('./components/picker/picker-component');
var popover_component_1 = require('./components/popover/popover-component');
var toast_component_1 = require('./components/toast/toast-component');
var IonicModule = (function () {
    function IonicModule() {
    }
    IonicModule.forRoot = function (userAppRoot, userConfig, userDeepLinkConfig) {
        return {
            ngModule: IonicModule,
            providers: providers_1.ionicProviders(userAppRoot, userConfig, userDeepLinkConfig)
        };
    };
    IonicModule.decorators = [
        { type: core_1.NgModule, args: [{
                    imports: [platform_browser_1.BrowserModule, http_1.HttpModule, forms_1.FormsModule, forms_1.ReactiveFormsModule],
                    exports: [platform_browser_1.BrowserModule, http_1.HttpModule, forms_1.FormsModule, forms_1.ReactiveFormsModule, directives_1.IONIC_DIRECTIVES],
                    declarations: [
                        action_sheet_component_1.ActionSheetCmp,
                        alert_component_1.AlertCmp,
                        directives_1.IONIC_DIRECTIVES,
                        loading_component_1.LoadingCmp,
                        modal_component_1.ModalCmp,
                        picker_component_1.PickerCmp,
                        popover_component_1.PopoverCmp,
                        toast_component_1.ToastCmp
                    ],
                    entryComponents: [
                        action_sheet_component_1.ActionSheetCmp,
                        alert_component_1.AlertCmp,
                        app_root_1.IonicApp,
                        loading_component_1.LoadingCmp,
                        modal_component_1.ModalCmp,
                        picker_component_1.PickerCmp,
                        popover_component_1.PopoverCmp,
                        toast_component_1.ToastCmp
                    ]
                },] },
    ];
    IonicModule.ctorParameters = [];
    return IonicModule;
}());
exports.IonicModule = IonicModule;
