import type { SlackClient, SlackThread } from '../../infra/slack/client.js'; import type { ConversationDelivery, ConversationInput } from './conversationPort.js'; export declare const SLACK_GOAL_APPROVE = "takt_goal_approve"; export declare const SLACK_GOAL_DISMISS = "takt_goal_dismiss"; export interface SlackEndpoint extends SlackThread { teamId: string; userId: string; } export declare function createSlackConversationPort(options: { repositoryDirectory: string; configDirectory: string; channelId: string; input: ConversationInput; client: SlackClient; language: 'ja' | 'en'; }): { isInquiryThread(channelId: string, parentTs: string): boolean; receive(endpoint: SlackEndpoint, text: string): Promise; receiveAction(endpoint: SlackEndpoint, actionId: string, value: string, triggerId: string | undefined): Promise; modalEndpoint(metadata: string): SlackEndpoint | undefined; receiveModal(endpoint: SlackEndpoint, metadata: string, sentence: string | undefined): Promise; stopAccepting(): void; close(): void; resolve(endpoint: SlackEndpoint): Promise; delivery: ConversationDelivery; }; //# sourceMappingURL=slackConversationPort.d.ts.map