import { SubscriptionStore, subscriptionStatus, type SubscriptionRecord } from '../storage/schema/subscription.store.js'; export { subscriptionStatus }; export type { SubscriptionRecord }; export declare const THREAD_ACTIVE_WINDOW_MS: number; export type SubscriptionPlatform = 'slack' | 'feishu'; export interface AttentionMap { activeThreads: SubscriptionRecord[]; channels: Array<{ channelId: string; channelName?: string; status: 'following' | 'muted'; subscription?: SubscriptionRecord; }>; mutedThreads: SubscriptionRecord[]; quietThreadCount: number; quietThreads: SubscriptionRecord[]; } export interface SubscriptionDecisionSummary { status: 'following' | 'muted'; subscriptionId: string; kind: SubscriptionRecord['kind']; threadTs?: string; } export declare function listSubscriptionsForAgent(agentId: string): Promise; export declare function attentionMapForSubscriptions(input: { includeAll?: boolean; memberChannels?: Array<{ id: string; name?: string; }>; nowMs?: number; subscriptions: SubscriptionRecord[]; }): AttentionMap; export declare function muteSubscriptionForAgent(input: { agentId: string; channelId: string; channelName?: string; platform?: SubscriptionPlatform; threadTs?: string; nowMs?: number; }): Promise; export declare function recordOutboundEngagement(input: { agentId: string; channelId: string; nowMs?: number; threadTs?: string; }): Promise; export declare function ensureThreadSubscriptionForSentMessage(input: { agentId: string; channelId: string; messageTs: string; nowMs?: number; threadTs?: string; }): Promise; export declare function followThread(input: { agentId: string; channelId: string; now: string; platform: SubscriptionPlatform; posted?: boolean; store: SubscriptionStore; threadTs: string; unmute?: boolean; }): Promise; export declare function followChannel(input: { agentId: string; channelId: string; now: string; platform: SubscriptionPlatform; store: SubscriptionStore; }): Promise; export declare function channelSubscriptionRecord(agentId: string, channelId: string, now: string, platform: SubscriptionPlatform): SubscriptionRecord; export declare function noteInboundWake(subscription: SubscriptionRecord, nowMs: number): { next: SubscriptionRecord; suggestion?: string; }; export declare function subscriptionDecisionSummary(subscription: SubscriptionRecord): SubscriptionDecisionSummary; export declare function platformForSubscription(subscription: SubscriptionRecord): SubscriptionPlatform; export declare function channelSubscriptionId(agentId: string, channelId: string): string; export declare function threadSubscriptionId(agentId: string, channelId: string, threadTs: string): string; //# sourceMappingURL=subscription.service.d.ts.map