import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ListenerEditFormComponent } from './tabs/listener-edit-form/listener-edit-form.component';
import { ListenerCreateFormComponent } from './tabs/listener-create-form/listener-create-form.component';
import { ListenerCreateComponent } from './listener-create/listener-create.component';
import { ListenerEditComponent } from './listener-edit/listener-edit.component';
import { ListenerDetailsComponent } from './listener-details/listener-details.component';
import { LbListenersRoutingModule } from './lb-listeners-routing.module';
import { ObjectsViewModule } from '@objects-view/objects-view.module';
import { ListenerDetailsOverviewComponent } from './tabs/listener-details-overview/listener-details-overview.component';
import { ListenerDetailsPoolsComponent } from './tabs/listener-details-pools/listener-details-pools.component';
import { ListenerDetailsL7PoliciesComponent } from './tabs/listener-details-l7-policies/listener-details-l7-policies.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 { MatCheckboxModule } from '@angular/material/checkbox';
import { MatSelectModule } from '@angular/material/select';
import { MatListModule } from '@angular/material/list';
import { MatIconModule } from '@angular/material/icon';
import { MatButtonModule } from '@angular/material/button';
import { MatExpansionModule } from '@angular/material/expansion';
import { MatTableModule } from '@angular/material/table';
import { PolicyCreateComponent } from './policy-create/policy-create.component';
import { PolicyEditComponent } from './policy-edit/policy-edit.component';
import { PolicyDetailsComponent } from './policy-details/policy-details.component';
import { PolicyDetailsOverviewComponent } from './tabs/policy-details-overview/policy-details-overview.component';
import { PolicyEditFormComponent } from './tabs/policy-edit-form/policy-edit-form.component';
import { PolicyDetailsRulesComponent } from './tabs/policy-details-rules/policy-details-rules.component';
import { RuleCreateComponent } from './rule-create/rule-create.component';
import { RuleEditComponent } from './rule-edit/rule-edit.component';
import { RuleDetailsComponent } from './rule-details/rule-details.component';
import { RuleDetailsOverviewComponent } from './tabs/rule-details-overview/rule-details-overview.component';
import { RuleEditFormComponent } from './tabs/rule-edit-form/rule-edit-form.component';


@NgModule({
  declarations: [
    ListenerEditFormComponent,
    ListenerCreateFormComponent,
    ListenerCreateComponent,
    ListenerEditComponent,
    ListenerDetailsComponent,
    ListenerDetailsOverviewComponent,
    ListenerDetailsPoolsComponent,
    ListenerDetailsL7PoliciesComponent,
    PolicyCreateComponent,
    PolicyEditComponent,
    PolicyDetailsComponent,
    PolicyDetailsOverviewComponent,
    PolicyEditFormComponent,
    PolicyDetailsRulesComponent,
    RuleCreateComponent,
    RuleEditComponent,
    RuleDetailsComponent,
    RuleDetailsOverviewComponent,
    RuleEditFormComponent,
  ],
  imports: [
    CommonModule,
    LbListenersRoutingModule,
    ObjectsViewModule,
    UiModule,
    ReactiveFormsModule,
    ErrorHandlingModule,
    MatFormFieldModule,
    MatInputModule,
    MatCheckboxModule,
    MatSelectModule,
    MatListModule,
    MatIconModule,
    MatButtonModule,
    MatExpansionModule,
    MatTableModule,
  ]
})
export class LbListenersModule {
}
