import { forwardRef, Module } from '@nestjs/common';
import { AiConfigModule } from '../ai-dashboard/ai-config/ai-config.module';
import { AiProviderService } from '../ai-dashboard/ai-provider/ai-provider.service';
import { AiUsageModule } from '../ai-usage/ai-usage.module';
import { AuditModule } from '../audit/audit.module';
import { ContabilidadModule } from '../contabilidad/contabilidad.module';
import { PrismaModule } from '../prisma/prisma.module';
import { RendicionViaticosModule } from '../rendicion-viaticos/rendicion-viaticos.module';
import { ContabilidadConciliacionController } from './contabilidad-conciliacion.controller';
import { ContabilidadConciliacionService } from './contabilidad-conciliacion.service';
import { RecontabilizacionService } from './recontabilizacion.service';
import { SaludContableService } from './salud-contable.service';
import { SugerenciaCategoriaService } from './sugerencia-categoria.service';
import { VistaPreviaMapeoController } from './vista-previa-mapeo.controller';
import { VistaPreviaMapeoService } from './vista-previa-mapeo.service';

@Module({
  imports: [
    PrismaModule,
    AuditModule,
    AiConfigModule,
    AiUsageModule,
    ContabilidadModule,
    forwardRef(() => RendicionViaticosModule),
  ],
  controllers: [ContabilidadConciliacionController, VistaPreviaMapeoController],
  providers: [
    ContabilidadConciliacionService,
    RecontabilizacionService,
    SaludContableService,
    SugerenciaCategoriaService,
    VistaPreviaMapeoService,
    AiProviderService,
  ],
  exports: [ContabilidadConciliacionService],
})
export class ContabilidadConciliacionModule {}
