{{=<% %>=}}
import { BrowserModule } from '@angular/platform-browser';
import { NgModule, ModuleWithProviders } from '@angular/core';

<%#Externals%>
<%#moduleName%>
import { <%moduleName%><%#serviceName%>, <%serviceName%> <%/serviceName%> } from <%={{ }}=%>'{{{name}}}'{{=<% %>=}};
<%/moduleName%>
<%/Externals%>

<%#Services%>
import { <%ServiceName%> } from '../services/<%fileName%>.service';
<%/Services%>

import { TransferEnviromentService } from '../services/transferEnviroment.service';

@NgModule({
    declarations: [
        // Pipes.
        // Directives.
    ],
    exports: [
        // Pipes.
        // Directives.
    ],
    imports: [
        BrowserModule,
        <%#Externals%>
        <%#moduleName%>
        <%moduleName%><%moduleEntryPoint%>,
        <%/moduleName%>
        <%/Externals%>
    ]
})
export class <%ModuleName%> {

    /**
     * Use in AppModule
     */
    public static forRoot(): ModuleWithProviders {
        return {
            ngModule: <%ModuleName%>,
            providers: [
                <%#Services%>
                <%ServiceName%>,
                <%/Services%>
                <%#Externals%>
                <%#serviceName%>
                <%serviceName%>,
                <%/serviceName%>
                <%/Externals%>
                TransferEnviromentService
            ]
        };
    }

    /**
     * Use in features modules with lazy loading
     */
    public static forChild(): ModuleWithProviders {
        return {
            ngModule: <%ModuleName%>,
            providers: [
                <%#Services%>
                <%ServiceName%>,
                <%/Services%>
                <%#Externals%>
                <%#serviceName%>
                <%serviceName%>,
                <%/serviceName%>
                <%/Externals%>
                TransferEnviromentService
            ]
        };
    }

}
<%={{ }}=%>