import { IntegrationService } from '../service/integration.service'; import { BulkMessageDto, CheckAgentStatusDto, CreateConfigDto, CreateUserIntegrationDto, GenericSendMessageDto, GetIntegrationTemplatesDto, SendGridTemplatesDto, SendGridVerifiedSendersDto, UpdateConfigDto, UpdateUserIntegrationDto } from '../dto/create-config.dto'; export declare class ScheduledMessageDto extends GenericSendMessageDto { scheduleFor: Date; timezone?: string; } export declare class IntegrationController { private readonly integrationService; constructor(integrationService: IntegrationService); sendMessage(sendMessageDto: GenericSendMessageDto): Promise; sendBulkMessage(bulkMessageDto: BulkMessageDto): Promise<{ results: import("../strategies/integration.strategy").IntegrationResult[]; summary: any; }>; scheduleMessage(scheduledMessageDto: ScheduledMessageDto): Promise<{ scheduled: boolean; scheduleId?: string; }>; sendTemplateMessage(templateMessage: { levelId: number; levelType: string; app_code: string; to: string | string[]; templateId: string; variables: Record; type?: 'EMAIL' | 'SMS' | 'WA' | 'TELEPHONE'; }): Promise; checkAgentStatus(checkAgentStatusDto: CheckAgentStatusDto): Promise<{ success: boolean; isReady?: boolean; state?: string; agentInfo?: any; error?: string; }>; createConfig(createConfigDto: CreateConfigDto): Promise; getSupportedCombinations(): Promise<{ mode: string; service: string; provider: string; }[]>; getLevelConfigs(levelId: number, levelType: string, app_code?: string, configType?: 'WA' | 'SMS' | 'EMAIL' | 'TELEPHONE', provider?: string): Promise<(import("../entity/integration-config.entity").IntegrationConfig & { linkedSource?: string; configDetails?: any; })[]>; getIntegrationConfigById(hubId: number): Promise<{ success: boolean; data: import("../entity/integration-config.entity").IntegrationConfig & { config: import("../entity/integration-config.entity").IntegrationConfig; linkedSource?: string; configDetails?: any; }; }>; activateConfig(hubId: number, status: string): Promise<{ success: boolean; message: string; }>; getSendGridVerifiedSenders(dto: SendGridVerifiedSendersDto): Promise<{ success: boolean; data?: Array<{ label: string; value: string; }>; error?: string; }>; getSendGridTemplates(dto: SendGridTemplatesDto): Promise<{ success: boolean; data?: Array<{ label: string; value: string; }>; error?: string; }>; getIntegrationTemplates(dto: GetIntegrationTemplatesDto): Promise<{ success: boolean; data?: Array<{ label: string; value: string; }>; error?: string; }>; disconnectConfig(configId: number): Promise<{ success: boolean; message: string; }>; updateConfig(hubId: number, updateDto: UpdateConfigDto): Promise<{ success: boolean; message: string; data: import("../entity/integration-config.entity").IntegrationConfig & { config?: any; }; }>; createUserIntegration(createDto: CreateUserIntegrationDto): Promise<{ success: boolean; message: string; data: import("../entity/user-integration.entity").UserIntegration; }>; bulkCreateUserIntegration(userIntegrations: CreateUserIntegrationDto[]): Promise<{ success: boolean; message: string; data: { created: import("../entity/user-integration.entity").UserIntegration[]; updated: import("../entity/user-integration.entity").UserIntegration[]; failed: Array<{ data: CreateUserIntegrationDto; error: string; }>; summary: { total: number; created: number; updated: number; failed: number; }; }; }>; getUserIntegrations(userId: number): Promise<{ success: boolean; data: import("../entity/user-integration.entity").UserIntegration[]; }>; getConfigUserIntegrations(configId: number): Promise<{ success: boolean; data: import("../entity/user-integration.entity").UserIntegration[]; }>; updateUserIntegration(id: number, updateDto: UpdateUserIntegrationDto): Promise<{ success: boolean; message: string; data: import("../entity/user-integration.entity").UserIntegration; }>; deleteUserIntegration(id: number): Promise<{ success: boolean; message: string; }>; getUserIntegrationByUserAndConfig(userId: number, configId: number): Promise<{ success: boolean; data: import("../entity/user-integration.entity").UserIntegration | null; }>; getAllIntegration(req: Request & { user: any; }, integration_type?: 'EMAIL' | 'SMS' | 'WA' | 'TELEPHONE'): Promise; getProviderUrls(integration_type?: 'EMAIL' | 'SMS' | 'WA' | 'TELEPHONE', integration_provider?: string): { success: boolean; data: { baseUrl: string; agentLoginUrl: string; }; } | undefined; getActiveConfig(levelId: number, levelType: string, appCode: string, integrationType: 'EMAIL' | 'SMS' | 'WA' | 'TELEPHONE'): Promise<{ success: boolean; message: string; data: null; } | { success: boolean; data: import("../entity/integration-config.entity").IntegrationConfig; message?: undefined; }>; }