import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { InvoiceListComponent } from './invoice-list/invoice-list.component';
import { InvoiceDetailsComponent } from './invoice-details/invoice-details.component';
import { InvoicesRoutingModule } from './invoices-routing.module';
import { ObjectsViewModule } from '@objects-view/objects-view.module';
import { InvoiceCreateComponent } from './invoice-create/invoice-create.component';
import { ErrorHandlingModule } from '@shared/error-handling/error-handling.module';
import { InvoiceEditComponent } from './invoice-edit/invoice-edit.component';
import { UiModule } from '@shared/ui/ui.module';
import {
  InvoiceDetailsAddPaymentComponent
} from './tabs/invoice-details-add-payment/invoice-details-add-payment.component';
import { InvoiceDetailsRefundComponent } from './tabs/invoice-details-refund/invoice-details-refund.component';
import { InvoiceEditFormComponent } from './tabs/invoice-edit-form/invoice-edit-form.component';
import { FleioDataControlsModule } from '@shared/fleio-data-controls/fleio-data-controls.module';
import { InvoiceDeleteDialogComponent } from './dialogs/invoice-delete-dialog/invoice-delete-dialog.component';
import { InvoicesMergeDialogComponent } from './dialogs/invoices-merge-dialog/invoices-merge-dialog.component';
import {
  InvoiceSendNotificationDialogComponent
} from './dialogs/invoice-send-notification-dialog/invoice-send-notification-dialog.component';
import { CommonDialogsModule } from '@shared/common-dialogs/common-dialogs.module';

@NgModule({
  declarations: [
    InvoiceListComponent,
    InvoiceDetailsComponent,
    InvoiceCreateComponent,
    InvoiceEditComponent,
    InvoiceDetailsAddPaymentComponent,
    InvoiceDetailsRefundComponent,
    InvoiceEditFormComponent,
    InvoiceDeleteDialogComponent,
    InvoicesMergeDialogComponent,
    InvoiceSendNotificationDialogComponent,
  ],
  exports: [
    InvoicesMergeDialogComponent,
  ],
  imports: [
    CommonModule,
    InvoicesRoutingModule,
    ObjectsViewModule,
    ErrorHandlingModule,
    UiModule,
    FleioDataControlsModule,
    CommonDialogsModule,
  ]
})
export class InvoicesModule {
}
