import {HttpClientModule} from '@angular/common/http';
import {NgModule} from '@angular/core';
import {EffectsModule} from '@ngrx/effects';
import {StoreModule} from '@ngrx/store';
import {<%= pascalCase(pluralDomainName) %>Domain} from './<%= paramCase(pluralDomainName) %>.domain';
import {<%= pascalCase(pluralDomainName) %>Effects} from './<%= paramCase(pluralDomainName) %>.effects';
import {<%= camelCase(pluralDomainName) %>Reducer} from './<%= paramCase(pluralDomainName) %>.reducer';
import {<%= pascalCase(pluralDomainName) %>Service} from './<%= paramCase(pluralDomainName) %>.service';

@NgModule({
  declarations: [],
  imports: [
    EffectsModule.forFeature([<%= pascalCase(pluralDomainName) %>Effects]),
    HttpClientModule,
    StoreModule.forFeature(<%= pascalCase(pluralDomainName) %>Domain.storeName, <%= camelCase(pluralDomainName) %>Reducer),
  ],
  providers: [
    <%= pascalCase(pluralDomainName) %>Effects,
    <%= pascalCase(pluralDomainName) %>Service
  ]
})
export class <%= pascalCase(pluralDomainName) %>Module {}
