import { Module } from '@nestjs/common';
import { StableDiffusionService } from './services/stable-diffusion/stable-diffusion.service';
import { HttpModule } from '@nestjs/axios';
import { ChatGptModule } from './services/chat-gpt/chat-gpt.module';
import { RekognitionService } from './services/aws/rekognition.service';
import { StableDiffusionModule } from './services/stable-diffusion/stable-diffusion.module';
import { ImageGuardsModule } from '../image-guards/image-guards.module';
import { SocketGuardsModule } from '../socket-guards/socket-guards.module';
import { StabilityAiModule } from './services/stability.ai/stability.ai.module';
import { ClaudeModule } from './services/claude/claude.module';
import { GeminiModule } from './services/gemini/gemini.module';
import { FluxModule } from './services/flux/flux.module';
import { MinimaxModule } from './services/minimax/minimax.module';
import { UnifiedChatModule } from './services/unified-chat/unified-chat.module';

@Module({
	imports: [
		HttpModule,
		ChatGptModule,
		StableDiffusionModule,
		StabilityAiModule,
		ImageGuardsModule,
		SocketGuardsModule,
		ClaudeModule,
		GeminiModule,
		FluxModule,
		MinimaxModule,
		UnifiedChatModule
	],
	providers: [
		StableDiffusionService,
		RekognitionService
	],
	exports: [
		RekognitionService,

		// modules
		ChatGptModule,
		StableDiffusionModule,
		StabilityAiModule,
		ImageGuardsModule,
		SocketGuardsModule,
		ClaudeModule,
		GeminiModule,
		FluxModule,
		MinimaxModule,
		UnifiedChatModule
	]
})
export class ThirdPartyModule { }
