import type { StreamChunk } from '@n8n/agents';
import type { Chat } from 'chat';
import type { Logger } from 'n8n-workflow';
import type { AgentsService } from '../agents.service';
import { type ComponentMapper } from './component-mapper';
import { IntegrationMessageContextService } from './integration-message-context.service';
import { type InternalThread } from './types';
import type { AgentIntegrationConfig } from '@n8n/api-types';
interface AgentExecutor {
    executeForChatPublished(config: {
        agentId: string;
        projectId: string;
        message: string;
        memory: {
            threadId: InternalThread;
            resourceId: string;
        };
        integrationType?: string;
    }): AsyncGenerator<StreamChunk>;
    resumeForChat(config: {
        agentId: string;
        projectId: string;
        runId: string;
        toolCallId: string;
        resumeData: unknown;
        integrationType?: string;
    }): AsyncGenerator<StreamChunk>;
}
export declare class AgentChatBridge {
    private readonly chat;
    private readonly agentId;
    private readonly agentService;
    private readonly componentMapper;
    private readonly logger;
    private readonly n8nProjectId;
    private readonly integration;
    private readonly messageContextStore?;
    private readonly activeResumedRuns;
    private readonly callbackStore?;
    private readonly disableStreaming;
    private readonly integrationImpl;
    private readonly richInteractionInputs;
    constructor(chat: Chat, agentId: string, agentService: AgentExecutor, componentMapper: ComponentMapper, logger: Logger, n8nProjectId: string, integration: AgentIntegrationConfig, messageContextStore?: IntegrationMessageContextService | undefined);
    static create(chat: Chat, agentId: string, agentService: AgentsService, componentMapper: ComponentMapper, logger: Logger, n8nProjectId: string, integration: AgentIntegrationConfig): AgentChatBridge;
    private registerHandlers;
    dispose(): void;
    private canUserAccess;
    private resolvePlatformThreadId;
    private toAgentThreadId;
    private getShortenCallback;
    private executeAndStream;
    private consumeStream;
    private consumeStreamBuffered;
    private handleSuspension;
    private handleRichInteraction;
    private stashRichInteractionInput;
    private isRichInteractionDisplayOnly;
    private handleDisplayOnly;
    private handleMessage;
    private parseActionId;
    private resolveCallbackData;
    private cleanUpBeforeResume;
    private executeResume;
    private startThinkingStatus;
    private setSlackAssistantStatus;
    private setSlackAssistantStatusWithRetry;
    private getSlackThreadContext;
    private getSlackAssistantStatusAdapter;
    private updateLatestMessageContext;
    private getPlatformAgentContext;
    private prepareInboundText;
    private getPreviousContext;
    private resolveMessageSubject;
    private handleAction;
    private postErrorToThread;
}
export {};
