import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ObjectsViewModule } from '@objects-view/objects-view.module';
import { ReactiveFormsModule } from '@angular/forms';
import { MatInputModule } from '@angular/material/input';
import { ErrorHandlingModule } from '@shared/error-handling/error-handling.module';
import { MatSelectModule } from '@angular/material/select';
import { MatAutocompleteModule } from '@angular/material/autocomplete';
import { UiModule } from '@shared/ui/ui.module';
import { TicketsListComponent } from './tickets-list/tickets-list.component';
import { TicketsOpenNewComponent } from './tickets-open-new/tickets-open-new.component';
import { EditorModule } from '@tinymce/tinymce-angular';
import { TicketDetailsComponent } from './ticket-details/ticket-details.component';
import { MatMenuModule } from '@angular/material/menu';
import { MatIconModule } from '@angular/material/icon';
import { MatButtonModule } from '@angular/material/button';
import { TicketsPluginNotificationsComponent } from './tickets-plugin-notifications/tickets-plugin-notifications.component';
import { MatDialogModule } from '@angular/material/dialog';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { RouterModule } from '@angular/router';
import { ClientDetailsTicketsListComponent } from './client-details-tickets-list/client-details-tickets-list.component';
import { MatTableModule } from '@angular/material/table';
import { UserDetailsTicketsListComponent } from './user-details-tickets-list/user-details-tickets-list.component';
import { PluginsModule } from '@shared/plugins/plugins.module';
import { TicketsOpenNewTabComponent } from './tabs/tickets-open-new-tab/tickets-open-new-tab.component';
import { MatChipsModule } from '@angular/material/chips';
import { FleioDataControlsModule } from '@shared/fleio-data-controls/fleio-data-controls.module';

@NgModule({
  declarations: [
    TicketsPluginNotificationsComponent,
    TicketsListComponent,
    TicketsOpenNewComponent,
    TicketDetailsComponent,
    ClientDetailsTicketsListComponent,
    UserDetailsTicketsListComponent,
    TicketsOpenNewTabComponent,
  ],
  exports: [
    TicketsPluginNotificationsComponent,
    ClientDetailsTicketsListComponent,
    UserDetailsTicketsListComponent,
  ],
    imports: [
        CommonModule,
        ObjectsViewModule,
        ReactiveFormsModule,
        MatInputModule,
        ErrorHandlingModule,
        MatSelectModule,
        MatAutocompleteModule,
        UiModule,
        EditorModule,
        MatMenuModule,
        MatIconModule,
        MatButtonModule,
        MatDialogModule,
        MatCheckboxModule,
        RouterModule,
        MatTableModule,
        PluginsModule,
        ReactiveFormsModule,
        MatAutocompleteModule,
        MatChipsModule,
        FleioDataControlsModule,
    ]
})
export class TicketsModule {
}
