import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { AngularSvgIconModule } from 'angular-svg-icon';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';

import { KnowledgeBoxComponent } from './knowledge-box/knowledge-box.component';
import { KnowledgeBoxHomeComponent } from './knowledge-box-home/knowledge-box-home.component';
import {
  PaButtonModule,
  PaDateTimeModule,
  PaDropdownModule,
  PaExpanderModule,
  PaIconModule,
  PaPopupModule,
  PaTableModule,
  PaTabsModule,
  PaTextFieldModule,
  PaTogglesModule,
  PaTooltipModule,
} from '@guillotinaweb/pastanaga-angular';
import { DropdownButtonComponent, HomeContainerComponent, InfoCardComponent, SisIconsModule } from '@nuclia/sistema';
import { KbOnboardingHeaderComponent } from './knowledge-box-home/kb-onboarding/kb-onboarding-header.component';

import {
  ChartsModule,
  GenerativeModelPipe,
  HintModule,
  KnowledgeBoxSettingsModule,
  PipesModule,
  RangeChartComponent,
  TokenDialogModule,
  UploadModule,
  UsersManageModule,
  AccountStatusComponent,
} from '@flaps/common';
import { UsageChartsComponent } from './knowledge-box-home/kb-usage/usage-charts.component';

import { STFPipesModule } from '@flaps/core';
import { LastResourcesComponent } from './knowledge-box-home/last-resources/last-resources.component';
import { ContentPlaceholderComponent } from './knowledge-box-home/content-placeholder/content-placeholder.component';

@NgModule({
  imports: [
    CommonModule,
    AngularSvgIconModule,
    TranslateModule.forChild(),
    ReactiveFormsModule,
    FormsModule,
    RouterModule,
    TokenDialogModule,
    ChartsModule,
    PipesModule,
    HintModule,
    UsersManageModule,
    PaButtonModule,
    PaExpanderModule,
    PaTextFieldModule,
    PaDropdownModule,
    PaTooltipModule,
    PaTogglesModule,
    PaPopupModule,
    PaIconModule,
    DropdownButtonComponent,
    UploadModule,
    AccountStatusComponent,
    PaDateTimeModule,
    HomeContainerComponent,
    KnowledgeBoxSettingsModule,
    PaTooltipModule,
    SisIconsModule,
    PaButtonModule,
    PaDropdownModule,
    PaTableModule,
    UsageChartsComponent,
    GenerativeModelPipe,
    InfoCardComponent,
    PaTabsModule,
    PaTableModule,
    STFPipesModule,
    RangeChartComponent,
    LastResourcesComponent,
    ContentPlaceholderComponent,
    KbOnboardingHeaderComponent,
  ],
  declarations: [KnowledgeBoxComponent, KnowledgeBoxHomeComponent],
  exports: [KnowledgeBoxComponent, KnowledgeBoxHomeComponent],
})
export class KnowledgeBoxModule {}
