import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { LoadBalancerListComponent } from './load-balancer-list/load-balancer-list.component';
import { LoadBalancerEditComponent } from './load-balancer-edit/load-balancer-edit.component';
import { LoadBalancerCreateComponent } from './load-balancer-create/load-balancer-create.component';
import { LoadBalancerDetailsComponent } from './load-balancer-details/load-balancer-details.component';
import { LoadBalancersRoutingModule } from './load-balancers-routing.module';
import { ObjectsViewModule } from '@objects-view/objects-view.module';
import { LoadBalancerDetailsOverviewComponent } from './tabs/load-balancer-details-overview/load-balancer-details-overview.component';
import { LoadBalancerEditFormComponent } from './tabs/load-balancer-edit-form/load-balancer-edit-form.component';
import { LoadBalancerCreateFormComponent } from './tabs/load-balancer-create-form/load-balancer-create-form.component';
import { LoadBalancerAssociateFloatingIpFormComponent } from './tabs/load-balancer-associate-floating-ip-form/load-balancer-associate-floating-ip-form.component';
import { LoadBalancerDetailsListenersComponent } from './tabs/load-balancer-details-listeners/load-balancer-details-listeners.component';
import { LoadBalancerDetailsPoolsComponent } from './tabs/load-balancer-details-pools/load-balancer-details-pools.component';
import { MatDividerModule } from '@angular/material/divider';
import { LoadBalancerAssociateFloatingIpComponent } from './load-balancer-associate-floating-ip/load-balancer-associate-floating-ip.component';
import { UiModule } from '@shared/ui/ui.module';
import { ReactiveFormsModule } from '@angular/forms';
import { ErrorHandlingModule } from '@shared/error-handling/error-handling.module';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatButtonModule } from '@angular/material/button';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatSelectModule } from '@angular/material/select';
import { MatMenuModule } from '@angular/material/menu';
import { MatListModule } from '@angular/material/list';
import { MatExpansionModule } from '@angular/material/expansion';
import { MatIconModule } from '@angular/material/icon';
import { MatAutocompleteModule } from '@angular/material/autocomplete';
import { MatTableModule } from '@angular/material/table';
import { CommonComponentsModule } from '@shared/common-components/common-components.module';


@NgModule({
  declarations: [
    LoadBalancerListComponent,
    LoadBalancerEditComponent,
    LoadBalancerCreateComponent,
    LoadBalancerDetailsComponent,
    LoadBalancerDetailsOverviewComponent,
    LoadBalancerEditFormComponent,
    LoadBalancerCreateFormComponent,
    LoadBalancerAssociateFloatingIpFormComponent,
    LoadBalancerDetailsListenersComponent,
    LoadBalancerDetailsPoolsComponent,
    LoadBalancerAssociateFloatingIpComponent,
  ],
    imports: [
        CommonModule,
        LoadBalancersRoutingModule,
        ObjectsViewModule,
        MatDividerModule,
        UiModule,
        ReactiveFormsModule,
        ErrorHandlingModule,
        MatFormFieldModule,
        MatInputModule,
        MatButtonModule,
        MatCheckboxModule,
        MatSelectModule,
        MatMenuModule,
        MatListModule,
        MatExpansionModule,
        MatIconModule,
        MatAutocompleteModule,
        MatTableModule,
        CommonComponentsModule,
    ]
})
export class LoadBalancersModule {
}
