import { AgentChatMessageDto, type AgentChatMessagesResponse, AgentChatResumeDto } from '@n8n/api-types';
import type { AuthenticatedRequest } from '@n8n/db';
import { CredentialsService } from '../../credentials/credentials.service';
import { AgentExecutionOrchestratorService } from './agent-execution-orchestrator.service';
import { AgentExecutionService } from './agent-execution.service';
import { type FlushableResponse } from './agent-sse-stream';
import { AgentTestChatService } from './agent-test-chat.service';
import { AgentValidationService } from './agent-validation.service';
import { AgentsService } from './agents.service';
import { AgentsBuilderService } from './builder/agents-builder.service';
export declare class AgentChatController {
    private readonly agentExecutionOrchestratorService;
    private readonly agentTestChatService;
    private readonly agentValidationService;
    private readonly agentsBuilderService;
    private readonly credentialsService;
    private readonly agentExecutionService;
    private readonly agentsService;
    constructor(agentExecutionOrchestratorService: AgentExecutionOrchestratorService, agentTestChatService: AgentTestChatService, agentValidationService: AgentValidationService, agentsBuilderService: AgentsBuilderService, credentialsService: CredentialsService, agentExecutionService: AgentExecutionService, agentsService: AgentsService);
    chat(req: AuthenticatedRequest<{
        projectId: string;
    }>, res: FlushableResponse, agentId: string, payload: AgentChatMessageDto): Promise<void>;
    chatResume(req: AuthenticatedRequest<{
        projectId: string;
    }>, res: FlushableResponse, agentId: string, payload: AgentChatResumeDto): Promise<void>;
    getChatMessages(req: AuthenticatedRequest<{
        projectId: string;
        agentId: string;
        threadId: string;
    }>): Promise<AgentChatMessagesResponse>;
    getTestChatMessages(req: AuthenticatedRequest<{
        projectId: string;
        agentId: string;
    }>): Promise<AgentChatMessagesResponse>;
    clearTestChatMessages(req: AuthenticatedRequest<{
        projectId: string;
        agentId: string;
    }>): Promise<{
        ok: boolean;
    }>;
}
