import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MatAutocompleteModule } from '@angular/material/autocomplete';
import { ReactiveFormsModule } from '@angular/forms';
import { FleioServiceDynamicUsageComponent } from './service-dynamic-usage/fleio-service-dynamic-usage.component';
import { MatDividerModule } from '@angular/material/divider';
import { MatExpansionModule } from '@angular/material/expansion';
import { MatTableModule } from '@angular/material/table';
import { FlavorsAsCardsComponent } from './flavors-as-cards/flavors-as-cards.component';
import { MatIconModule } from '@angular/material/icon';
import { ImagesAsCardsComponent } from './images-as-cards/images-as-cards.component';
import { UiModule } from '../ui/ui.module';
import { MatTabsModule } from '@angular/material/tabs';
import { MatInputModule } from '@angular/material/input';
import { MatDialogModule } from '@angular/material/dialog';
import { MatButtonModule } from '@angular/material/button';
import { ErrorHandlingModule } from '../error-handling/error-handling.module';
import { CustomFieldsComponent } from './custom-fields/custom-fields.component';
import { MatSelectModule } from '@angular/material/select';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { OpenstackResourceLinkComponent } from './openstack-resource-link/openstack-resource-link.component';
import { RouterModule } from '@angular/router';
import { MatTooltipModule } from '@angular/material/tooltip';
import { LogFileViewerComponent } from './log-file-viewer/log-file-viewer.component';
import { ScrollingModule } from '@angular/cdk/scrolling';
import { AutocompleteComponent } from './autocomplete-components/autocomplete/autocomplete.component';
import {
  ClientAutocompleteComponent
} from './autocomplete-components/client-autocomplete/client-autocomplete.component';
import {
  CountryAutocompleteComponent
} from './autocomplete-components/country-autocomplete/country-autocomplete.component';
import { UserAutocompleteComponent } from './autocomplete-components/user-autocomplete/user-autocomplete.component';
import { MatRadioModule } from '@angular/material/radio';


@NgModule({
  declarations: [
    FleioServiceDynamicUsageComponent,
    FlavorsAsCardsComponent,
    ImagesAsCardsComponent,
    CustomFieldsComponent,
    OpenstackResourceLinkComponent,
    LogFileViewerComponent,
    AutocompleteComponent,
    ClientAutocompleteComponent,
    CountryAutocompleteComponent,
    UserAutocompleteComponent,
  ],
  exports: [
    FleioServiceDynamicUsageComponent,
    FlavorsAsCardsComponent,
    ImagesAsCardsComponent,
    CustomFieldsComponent,
    OpenstackResourceLinkComponent,
    LogFileViewerComponent,
    AutocompleteComponent,
    ClientAutocompleteComponent,
    CountryAutocompleteComponent,
    UserAutocompleteComponent,
  ],
  imports: [
    CommonModule,
    MatAutocompleteModule,
    ReactiveFormsModule,
    MatDividerModule,
    MatExpansionModule,
    MatTableModule,
    MatIconModule,
    UiModule,
    MatTabsModule,
    MatInputModule,
    MatDialogModule,
    MatButtonModule,
    ErrorHandlingModule,
    MatSelectModule,
    MatCheckboxModule,
    RouterModule,
    MatTooltipModule,
    ScrollingModule,
    MatRadioModule,
  ]
})
export class FleioDataControlsModule {
}
