import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FileDropComponent } from './file-drop/file-drop.component';
import { OverlayModule } from '@angular/cdk/overlay';
import { UploadStatusOverlayComponent } from './upload-status-overlay/upload-status-overlay.component';
import { SharedModule } from '@shared/shared.module';
import { OverwriteFilesDialogComponent } from './dialogs/overwrite-files-dialog/overwrite-files-dialog.component';
import { FileUploadService } from './services/file-upload.service';
import { FileDownloadService } from './services/file-download.service';
import { StatusOverlayService } from './services/status-overlay.service';
import { FileDropOverlayService } from './services/file-drop-overlay.service';
import { UploadDownloadDialogService } from './services/upload-download-dialog.service';
import { TranslateModule } from '@ngx-translate/core';
import { CircleButtonComponent, DetailsRadioComponent, IconButtonComponent } from '@iqser/common-ui';

@NgModule({
    imports: [
        CommonModule,
        SharedModule,
        OverlayModule,
        TranslateModule,
        CircleButtonComponent,
        IconButtonComponent,
        DetailsRadioComponent,
    ],
    declarations: [FileDropComponent, UploadStatusOverlayComponent, OverwriteFilesDialogComponent],
    providers: [UploadDownloadDialogService, FileUploadService, FileDownloadService, StatusOverlayService, FileDropOverlayService],
    exports: [FileDropComponent, UploadStatusOverlayComponent],
})
export class FileUploadDownloadModule {}
