import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { NetworkCreateComponent } from './network-create/network-create.component';
import { NetworkEditComponent } from './network-edit/network-edit.component';
import { NetworkDetailsComponent } from './network-details/network-details.component';
import { NetworkListComponent } from './network-list/network-list.component';
import { NetworkEditFormComponent } from './tabs/network-edit-form/network-edit-form.component';
import { NetworkAddSubnetComponent } from './network-add-subnet/network-add-subnet.component';
import { NetworkEditSubnetComponent } from './network-edit-subnet/network-edit-subnet.component';
import { NetworksRoutingModule } from './networks-routing.module';
import { ObjectsViewModule } from '@objects-view/objects-view.module';
import { UiModule } from '@shared/ui/ui.module';
import { MatTableModule } from '@angular/material/table';
import { MatButtonModule } from '@angular/material/button';
import { FormsModule, 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 { NetworkAutoCreateComponent } from './network-auto-create/network-auto-create.component';
import { NetworkConfigAutoCreateComponent } from './network-config-auto-create/network-config-auto-create.component';
import {
  NetworkConfigAutoCreateFormComponent
} from './tabs/network-config-auto-create-form/network-config-auto-create-form.component';
import { MatAutocompleteModule } from '@angular/material/autocomplete';
import { MatSelectModule } from '@angular/material/select';
import { MatRadioModule } from '@angular/material/radio';
import { MatIconModule } from '@angular/material/icon';
import { CommonTabsModule } from '@shared/common-tabs/common-tabs.module';
import { FleioDataControlsModule } from '@shared/fleio-data-controls/fleio-data-controls.module';
import { MatChipsModule } from '@angular/material/chips';


@NgModule({
  declarations: [
    NetworkCreateComponent,
    NetworkEditComponent,
    NetworkDetailsComponent,
    NetworkListComponent,
    NetworkEditFormComponent,
    NetworkAddSubnetComponent,
    NetworkEditSubnetComponent,
    NetworkAutoCreateComponent,
    NetworkConfigAutoCreateComponent,
    NetworkConfigAutoCreateFormComponent,
  ],
    imports: [
        CommonModule,
        NetworksRoutingModule,
        ObjectsViewModule,
        UiModule,
        MatTableModule,
        MatButtonModule,
        ReactiveFormsModule,
        ErrorHandlingModule,
        MatFormFieldModule,
        MatInputModule,
        MatCheckboxModule,
        MatAutocompleteModule,
        MatSelectModule,
        MatRadioModule,
        MatIconModule,
        CommonTabsModule,
        FormsModule,
        FleioDataControlsModule,
        MatChipsModule,
    ]
})
export class NetworksModule {
}
