import type { RichCardComponentType } from '@n8n/api-types';
import type { Thread } from 'chat';
import { AgentRepository } from '../../../repositories/agent.repository';
import { AgentChatIntegration, type AgentChatIntegrationContext, type BridgeExecutionContext, type BridgeMessageContextParams, type BridgeResumeExecutionContext, type PlatformAgentContext, type PlatformContextQueryParams, type UnauthenticatedWebhookResponse } from '../../agent-chat-integration';
import type { ChatInstance } from '../../chat-integration.service';
import type { ReplyExpectation } from '../../integration-tools';
export declare class SlackIntegration extends AgentChatIntegration {
    private readonly agentRepository?;
    constructor(agentRepository?: AgentRepository | undefined);
    readonly type = "slack";
    readonly credentialTypes: string[];
    readonly displayLabel = "Slack";
    readonly displayIcon = "slack";
    readonly builderGuidance: {
        capabilities: string[];
        useIntegrationWhen: string[];
        useNodeToolWhen: string[];
    };
    readonly supportedComponents: readonly RichCardComponentType[];
    readonly contextToolDefinitions: import("../../integration-tool-types").IntegrationContextQueryDefinition[];
    readonly actionToolDefinitions: import("../../integration-tool-types").IntegrationActionDefinition[];
    onBeforeConnect(ctx: AgentChatIntegrationContext): Promise<void>;
    prepareSentThread(thread: Thread<unknown, unknown>): Promise<void>;
    getPlatformAgentContext(chat: ChatInstance): PlatformAgentContext;
    prepareInboundText(text: string, context: PlatformAgentContext): string;
    getReplyExpectation(params: {
        message: BridgeMessageContextParams['message'];
        isNewMention: boolean;
        platformAgentContext: PlatformAgentContext;
    }): ReplyExpectation;
    createBridgeExecutionContext(params: BridgeMessageContextParams): Promise<BridgeExecutionContext>;
    createResumeExecutionContext(params: {
        chat: ChatInstance;
        thread: BridgeMessageContextParams['thread'];
        logger: BridgeMessageContextParams['logger'];
        agentId: string;
    }): Promise<BridgeResumeExecutionContext>;
    executeContextQuery(params: PlatformContextQueryParams): Promise<unknown>;
    createAdapter(ctx: AgentChatIntegrationContext): Promise<unknown>;
    handleUnauthenticatedWebhook(body: unknown): UnauthenticatedWebhookResponse | undefined;
    private extractBotToken;
    private extractSigningSecret;
}
