import type { RichCardComponentType } from '@n8n/api-types';
import { AgentChatIntegration, type AgentChatIntegrationContext, type BridgeExecutionContext, type BridgeMessageContextParams, type BridgeResumeExecutionContext, type PlatformAgentContext, type PlatformActionParams, type PlatformContextQueryParams, type UnauthenticatedWebhookResponse } from '../agent-chat-integration';
import type { ChatInstance } from '../chat-integration.service';
import type { IntegrationActionResult } from '../integration-tools';
export declare class SlackIntegration extends AgentChatIntegration {
    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[];
    getPlatformAgentContext(chat: ChatInstance): PlatformAgentContext;
    prepareInboundText(text: string, context: PlatformAgentContext): string;
    createBridgeExecutionContext(params: BridgeMessageContextParams): Promise<BridgeExecutionContext>;
    createResumeExecutionContext(params: {
        chat: ChatInstance;
        thread: BridgeMessageContextParams['thread'];
        logger: BridgeMessageContextParams['logger'];
        agentId: string;
    }): Promise<BridgeResumeExecutionContext>;
    executeContextQuery(params: PlatformContextQueryParams): Promise<unknown>;
    executeAction(params: PlatformActionParams): Promise<IntegrationActionResult | undefined>;
    createAdapter(ctx: AgentChatIntegrationContext): Promise<unknown>;
    handleUnauthenticatedWebhook(body: unknown): UnauthenticatedWebhookResponse | undefined;
    private extractBotToken;
    private extractSigningSecret;
}
