import { AgentDisconnectIntegrationDto, type AgentIntegrationStatusResponse, CreateSlackAgentAppDto, type CreateSlackAgentAppResponse, type SlackAgentAppManifestResponse } from '@n8n/api-types'; import type { AuthenticatedRequest } from '@n8n/db'; import type { Request, Response } from 'express'; import { CredentialsService } from '../../credentials/credentials.service'; import { AgentIntegrationPersistenceService } from './agent-integration-persistence.service'; import { AgentPublishService } from './agent-publish.service'; import { AgentRunnableStateService } from './agent-runnable-state.service'; import { ChatIntegrationRegistry } from './integrations/agent-chat-integration'; import { ChatIntegrationService } from './integrations/chat-integration.service'; import { SlackAppSetupService } from './integrations/slack-app-setup.service'; import { AgentRepository } from './repositories/agent.repository'; export declare class AgentIntegrationsController { private readonly agentIntegrationPersistenceService; private readonly agentPublishService; private readonly credentialsService; private readonly chatIntegrationService; private readonly agentRepository; private readonly chatIntegrationRegistry; private readonly slackAppSetupService; private readonly agentRunnableStateService; constructor(agentIntegrationPersistenceService: AgentIntegrationPersistenceService, agentPublishService: AgentPublishService, credentialsService: CredentialsService, chatIntegrationService: ChatIntegrationService, agentRepository: AgentRepository, chatIntegrationRegistry: ChatIntegrationRegistry, slackAppSetupService: SlackAppSetupService, agentRunnableStateService: AgentRunnableStateService); private validateIntegration; connectIntegration(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, agentId: string): Promise<{ status: string; agent: import("./entities/agent.entity").Agent & { isRunnable: boolean; hasPublishHistory: boolean; }; }>; createSlackApp(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, agentId: string, payload: CreateSlackAgentAppDto): Promise; getSlackAppManifest(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, agentId: string): Promise; handleSlackAppOAuthCallback(req: Request<{ projectId: string; agentId: string; }, unknown, unknown, { code?: string; state?: string; error?: string; error_description?: string; }>, res: Response, agentId: string): Promise; disconnectIntegration(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, agentId: string, payload: AgentDisconnectIntegrationDto): Promise<{ status: string; }>; integrationStatus(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, agentId: string): Promise; handleWebhook(req: Request<{ projectId: string; agentId: string; platform: string; }>, res: Response): Promise; }