import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ErrorHandlingModule } from '../error-handling/error-handling.module';
import {
  PricingPlanDeleteComponent
} from './settings/openstack/openstack-plans/pricing-plan-delete/pricing-plan-delete.component';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MatDialogModule } from '@angular/material/dialog';
import { MatSelectModule } from '@angular/material/select';
import { MatButtonModule } from '@angular/material/button';
import {
  ApiUserDownloadOpenrcComponent
} from './openstack/api-users/api-user-download-openrc/api-user-download-openrc.component';
import { UiModule } from '@shared/ui/ui.module';
import { MatRadioModule } from '@angular/material/radio';
import { MatInputModule } from '@angular/material/input';
import { VolumeRenameComponent } from '@shared/common-dialogs/openstack/volumes/volume-rename/volume-rename.component';
import { VolumeExtendComponent } from '@shared/common-dialogs/openstack/volumes/volume-extend/volume-extend.component';
import {
  EditVolumeSnapshotDialogComponent
} from '@shared/common-dialogs/openstack/volume-snapshots/edit-volume-snapshot-dialog/edit-volume-snapshot-dialog.component';
import { MatIconModule } from '@angular/material/icon';
import {
  ResetVolumeSnapshotStateDialogComponent
} from '@shared/common-dialogs/openstack/volume-snapshots/reset-volume-snapshot-state-dialog/reset-volume-snapshot-state-dialog.component';
import {
  EditVolumeBackupDialogComponent
} from '@shared/common-dialogs/openstack/volme-backups/edit-volume-backup-dialog/edit-volume-backup-dialog.component';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatAutocompleteModule } from '@angular/material/autocomplete';
import {
  RestoreVolumeBackupDialogComponent
} from '@shared/common-dialogs/openstack/volme-backups/restore-volume-backup-dialog/restore-volume-backup-dialog.component';
import {
  InstanceDetailsCreateSnapshotDialogComponent
} from '@shared/common-dialogs/openstack/instances/instance-details-create-snapshot-dialog/instance-details-create-snapshot-dialog.component';
import {
  InstanceDetailsAutoAddIpDialogComponent
} from '@shared/common-dialogs/openstack/instances/instance-details-auto-add-ip-dialog/instance-details-auto-add-ip-dialog.component';
import {
  InstanceDetailsAttachVolumeDialogComponent
} from '@shared/common-dialogs/openstack/instances/instance-details-attach-volume-dialog/instance-details-attach-volume-dialog.component';
import {
  InstanceDetailsAddPortDialogComponent
} from '@shared/common-dialogs/openstack/instances/instance-details-add-port-dialog/instance-details-add-port-dialog.component';
import {
  InstanceDetailsAddIpDialogComponent
} from '@shared/common-dialogs/openstack/instances/instance-details-add-ip-dialog/instance-details-add-ip-dialog.component';
import {
  InstanceRenameDialogComponent
} from '@shared/common-dialogs/openstack/instances/instance-rename-dialog/instance-rename-dialog.component';
import {
  InstanceChangePasswordDialogComponent
} from '@shared/common-dialogs/openstack/instances/instance-change-password-dialog/instance-change-password-dialog.component';
import {
  InstanceMigrateDialogComponent
} from '@shared/common-dialogs/openstack/instances/instance-migrate-dialog/instance-migrate-dialog.component';
import {
  InstanceDetailsAttachPortDialogComponent
} from './openstack/instances/instance-details-attach-port-dialog/instance-details-attach-port-dialog.component';
import {
  InstanceDetailsAssociateIpDialogComponent
} from './openstack/instances/instance-details-associate-ip-dialog/instance-details-associate-ip-dialog.component';
import {
  InstanceAssociateSecurityGroupDialogComponent
} from './openstack/instances/instance-associate-security-group-dialog/instance-associate-security-group-dialog.component';
import {
  CreateOsBackupScheduleDialogComponent
} from './openstack/instances/create-os-backup-schedule-dialog/create-os-backup-schedule-dialog.component';
import {
  CreateOsBackupDialogComponent
} from './openstack/instances/create-os-backup-dialog/create-os-backup-dialog.component';
import { MatTooltipModule } from '@angular/material/tooltip';
import {
  InstanceDeleteDialogComponent
} from './openstack/instances/instance-delete-dialog/instance-delete-dialog.component';
import {
  EditPtrRecordDialogComponent
} from './openstack/instances/edit-ptr-record-dialog/edit-ptr-record-dialog.component';
import {
  InstanceDissociateIpDialogComponent
} from './openstack/instances/instance-dissociate-ip-dialog/instance-dissociate-ip-dialog.component';
import {
  ClusterGetFileDialogComponent
} from './openstack/clusters/cluster-get-file-dialog/cluster-get-file-dialog.component';
import {
  RevertVolumeToSnapshotDialogComponent
} from '@shared/common-dialogs/openstack/volumes/revert-volume-to-snapshot-dialog/revert-volume-to-snapshot-dialog.component';
import {
  InstanceMoveDialogComponent
} from '@openstack-instances-dialogs/instance-move-dialog/instance-move-dialog.component';
import {
  ChangeUserRolesDialogComponent
} from './clients-users/clients/change-user-roles-dialog/change-user-roles-dialog.component';
import { MatListModule } from '@angular/material/list';
import { ImageCopyDialogComponent } from '@shared/common-dialogs/openstack/images/image-copy-dialog/image-copy-dialog';
import {
  FloatingIpSetPtrDialogComponent
} from './openstack/floating-ips/floating-ip-set-ptr-dialog/floating-ip-set-ptr-dialog.component';
import { MatDatepickerModule } from '@angular/material/datepicker';
import { RouterModule } from '@angular/router';
import {
  InstanceUnshelveDialogComponent
} from '@openstack-instances-dialogs/instance-unshelve-dialog/instance-unshelve-dialog.component';
import { CommonDialogComponent } from './common-dialog/common-dialog.component';
import { CommonComponentsModule } from '@shared/common-components/common-components.module';
import { FleioDataControlsModule } from '@shared/fleio-data-controls/fleio-data-controls.module';
import {
  MetricDetailDialogComponent
} from '@shared/common-dialogs/service-dynamic-usage/metric-detail-dialog/metric-detail-dialog.component';
import { ScrollingModule } from '@angular/cdk/scrolling';
import {
  LicenseWarningDialogComponent
} from '@shared/common-dialogs/license/license-warning-dialog/license-warning-dialog.component';
import { InvalidLicenseComponent } from '@shared/common-dialogs/license/invalid-license/invalid-license.component';
import {
  CreateDatabaseUserDialogComponent
} from '@shared/common-dialogs/openstack/dbaas/create-database-user-dialog/create-database-user-dialog.component';
import {
  CreateDatabaseDialogComponent
} from '@shared/common-dialogs/openstack/dbaas/create-database-dialog/create-database-dialog.component';
import {
  GrantDatabasesAccessDialogComponent
} from '@shared/common-dialogs/openstack/dbaas/grant-databases-access-dialog/grant-databases-access-dialog.component';
import {
  ResizeDatabaseInstanceVolumeDialogComponent
} from '@shared/common-dialogs/openstack/dbaas/resize-database-instance-volume-dialog/resize-database-instance-volume-dialog.component';
import {
  AddDatabaseReplicaDialogComponent
} from '@shared/common-dialogs/openstack/dbaas/add-database-replica-dialog/add-database-replica-dialog.component';
import {
  RenameDatabaseInstanceDialogComponent
} from '@shared/common-dialogs/openstack/dbaas/rename-database-instance-dialog/rename-database-instance-dialog.component';
import {
  UpdateDatabaseAccessibilityDialogComponent
} from '@shared/common-dialogs/openstack/dbaas/update-database-accessibility-dialog/update-database-accessibility-dialog.component';
import { SshKeyAddDialogComponent } from './openstack/ssh-keys/ssh-key-add-dialog/ssh-key-add-dialog.component';
import { AddDatabaseBackupDialogComponent } from './openstack/dbaas/add-database-backup-dialog/add-database-backup-dialog.component';
import { CreateDatabaseFromBackupComponent } from './openstack/dbaas/create-database-from-backup/create-database-from-backup.component';
import {
  AssociateUserDialogComponent
} from '@shared/common-dialogs/clients-users/clients/associate-user-dialog/associate-user-dialog.component';
import {
  CreateDbaasBackupScheduleDialogComponent
} from '@shared/common-dialogs/openstack/dbaas/create-dbaas-backup-schedule-dialog/create-dbaas-backup-schedule-dialog.component';

@NgModule({
  declarations: [
    PricingPlanDeleteComponent,
    ApiUserDownloadOpenrcComponent,
    VolumeRenameComponent,
    VolumeExtendComponent,
    EditVolumeSnapshotDialogComponent,
    ResetVolumeSnapshotStateDialogComponent,
    EditVolumeBackupDialogComponent,
    RestoreVolumeBackupDialogComponent,
    InstanceDetailsCreateSnapshotDialogComponent,
    InstanceDetailsAutoAddIpDialogComponent,
    InstanceDetailsAttachVolumeDialogComponent,
    InstanceDetailsAddPortDialogComponent,
    InstanceDetailsAddIpDialogComponent,
    InstanceRenameDialogComponent,
    InstanceChangePasswordDialogComponent,
    InstanceMoveDialogComponent,
    InstanceMigrateDialogComponent,
    InstanceDetailsAttachPortDialogComponent,
    InstanceDetailsAssociateIpDialogComponent,
    InstanceAssociateSecurityGroupDialogComponent,
    CreateOsBackupScheduleDialogComponent,
    CreateOsBackupDialogComponent,
    InstanceDeleteDialogComponent,
    EditPtrRecordDialogComponent,
    InstanceDissociateIpDialogComponent,
    ClusterGetFileDialogComponent,
    RevertVolumeToSnapshotDialogComponent,
    ChangeUserRolesDialogComponent,
    ImageCopyDialogComponent,
    FloatingIpSetPtrDialogComponent,
    InstanceUnshelveDialogComponent,
    MetricDetailDialogComponent,
    LicenseWarningDialogComponent,
    InvalidLicenseComponent,
    CreateDatabaseUserDialogComponent,
    CreateDatabaseDialogComponent,
    GrantDatabasesAccessDialogComponent,
    ResizeDatabaseInstanceVolumeDialogComponent,
    AddDatabaseReplicaDialogComponent,
    RenameDatabaseInstanceDialogComponent,
    UpdateDatabaseAccessibilityDialogComponent,
    CommonDialogComponent,
    SshKeyAddDialogComponent,
    AddDatabaseBackupDialogComponent,
    CreateDatabaseFromBackupComponent,
    AssociateUserDialogComponent,
    CreateDbaasBackupScheduleDialogComponent,
  ],
  exports: [
    PricingPlanDeleteComponent,
    ApiUserDownloadOpenrcComponent,
    VolumeRenameComponent,
    VolumeExtendComponent,
    EditVolumeSnapshotDialogComponent,
    ResetVolumeSnapshotStateDialogComponent,
    EditVolumeBackupDialogComponent,
    RestoreVolumeBackupDialogComponent,
    InstanceRenameDialogComponent,
    InstanceChangePasswordDialogComponent,
    InstanceMoveDialogComponent,
    InstanceMigrateDialogComponent,
    InstanceDetailsAttachPortDialogComponent,
    InstanceDetailsAssociateIpDialogComponent,
    InstanceAssociateSecurityGroupDialogComponent,
    CreateOsBackupScheduleDialogComponent,
    CreateOsBackupDialogComponent,
    RevertVolumeToSnapshotDialogComponent,
    ChangeUserRolesDialogComponent,
    ImageCopyDialogComponent,
    InstanceUnshelveDialogComponent,
    MetricDetailDialogComponent,
    LicenseWarningDialogComponent,
    InvalidLicenseComponent,
    CreateDatabaseUserDialogComponent,
    CreateDatabaseDialogComponent,
    GrantDatabasesAccessDialogComponent,
    ResizeDatabaseInstanceVolumeDialogComponent,
    AddDatabaseReplicaDialogComponent,
    RenameDatabaseInstanceDialogComponent,
    UpdateDatabaseAccessibilityDialogComponent,
    CommonDialogComponent,
    AssociateUserDialogComponent,
    CreateDbaasBackupScheduleDialogComponent,
  ],
  imports: [
    CommonModule,
    ErrorHandlingModule,
    ReactiveFormsModule,
    MatDialogModule,
    MatSelectModule,
    MatButtonModule,
    FormsModule,
    UiModule,
    MatRadioModule,
    MatInputModule,
    MatCheckboxModule,
    MatIconModule,
    MatAutocompleteModule,
    MatTooltipModule,
    MatListModule,
    MatDatepickerModule,
    RouterModule,
    CommonComponentsModule,
    ScrollingModule,
    FleioDataControlsModule,
  ]
})
export class CommonDialogsModule {
}
