import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ServiceDetailsComponent } from './service-details/service-details.component';
import { ServiceListComponent } from './service-list/service-list.component';
import { ServicesRoutingModule } from './services-routing.module';
import { ErrorHandlingModule } from '@shared/error-handling/error-handling.module';
import { ReactiveFormsModule } from '@angular/forms';
import { ObjectsViewModule } from '@objects-view/objects-view.module';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatSelectModule } from '@angular/material/select';
import { MatDatepickerModule } from '@angular/material/datepicker';
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { MatDialogModule } from '@angular/material/dialog';
import { ServiceListUIService } from './service-list-ui.service';
import { ServiceChangeComponent } from './service-change/service-change.component';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatRadioModule } from '@angular/material/radio';
import { MatListModule } from '@angular/material/list';
import { ServiceRequestCancellationComponent } from './dialogs/service-request-cancellation/service-request-cancellation.component';
import { CommonDialogsModule } from '@shared/common-dialogs/common-dialogs.module';


@NgModule({
  declarations: [
    ServiceDetailsComponent,
    ServiceListComponent,
    ServiceChangeComponent,
    ServiceRequestCancellationComponent,
  ],
    imports: [
        CommonModule,
        ServicesRoutingModule,
        ErrorHandlingModule,
        MatDialogModule,
        ReactiveFormsModule,
        ObjectsViewModule,
        MatFormFieldModule,
        MatInputModule,
        MatSelectModule,
        MatDatepickerModule,
        MatButtonModule,
        MatIconModule,
        MatCheckboxModule,
        MatRadioModule,
        MatListModule,
        CommonDialogsModule,
    ],
  providers: [
    {
      provide: ServiceListUIService,
      useClass: ServiceListUIService,
      multi: false,
    },
  ]
})
export class ServicesModule {
}
