import type { SlackRawMessageEvent } from './slack-events.js'; import { type SubscriptionRecord } from './subscription.service.js'; export interface SlackRuntimeDecision { attentionSuggestion?: string; subscription?: { status: 'following' | 'muted'; subscriptionId: string; kind: SubscriptionRecord['kind']; threadTs?: string; }; reason: 'channel_follow' | 'dm' | 'mention' | 'muted' | 'not_addressed' | 'thread_follow'; shouldStartRuntime: boolean; } export interface SlackRuntimeDecisionOptions { agentId?: string; /** Agent Slack bot user id (`U…`) for detecting direct mentions in message text/blocks. */ botUserId?: string; duplicate?: boolean; nowMs?: number; } export declare function shouldReply(event: SlackRawMessageEvent, options?: Pick): boolean; export declare function slackRuntimeDecision(event: SlackRawMessageEvent, options?: SlackRuntimeDecisionOptions): Promise; //# sourceMappingURL=slack-subscription.service.d.ts.map