/* tslint:disable */
import { NgModule, ModuleWithProviders } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { {{configurationClass}}, {{configurationInterface}} } from './{{configurationFile}}';

{{#services}}import { {{serviceClass}} } from './services/{{serviceFile}}';
{{/services}}

/**
 * Provider for all {{ prefix }} services, plus {{configurationClass}}
 */
@NgModule({
  imports: [
    HttpClientModule
  ],
  exports: [
    HttpClientModule
  ],
  declarations: [],
  providers: [
    {{configurationClass}},
{{#services}}    {{serviceClass}}{{^serviceIsLast}},{{/serviceIsLast}}
{{/services}}
  ],
})
export class {{moduleClass}} {
  static forRoot(customParams: {{configurationInterface}}): ModuleWithProviders<{{moduleClass}}> {
    return {
      ngModule: {{moduleClass}},
      providers: [
        {
          provide: {{configurationClass}},
          useValue: {rootUrl: customParams.rootUrl}
        }
      ]
    }
  }
}
