import type { ArkmeBotList, ArkmeBotConversation, ArkmeBotConversationDirectory, ArkmeBotConversationReadResult, ArkmeBotConversationSendResult, ArkmeBotNotificationPreference } from '../types.js'; import type { ArkmeBotRefPayload } from './bot-service.js'; import { MessageActionService } from './message-action-service.js'; import { ServiceRuntime } from './service.js'; interface BotConversationRegistryPort { listBots(options?: { signal?: AbortSignal; }): Promise; openBotRef(botRef: string, expectedUserId: number): Promise; } interface ChatBotConversationPort { readDirectBotConversation(botId: string, chatSessionUid: string, options?: { signal?: AbortSignal; }): Promise; sendDirectBotText(chatSessionUid: string, content: string, options?: { signal?: AbortSignal; }): Promise; markDirectBotRead(chatSessionUid: string, sequence: number, options?: { signal?: AbortSignal; }): Promise; directBotNotificationPreference(chatSessionUid: string, options?: { signal?: AbortSignal; }): Promise; updateDirectBotNotificationPreference(chatSessionUid: string, muted: boolean, options?: { signal?: AbortSignal; }): Promise; } export declare class BotConversationService { private readonly runtime; private readonly bot; private readonly invalidateRecordProjection; private readonly subject; private readonly chatAdapter; constructor(runtime: ServiceRuntime, bot: BotConversationRegistryPort, chat: ChatBotConversationPort, invalidateRecordProjection: () => Promise, messageActions?: MessageActionService); directory(options?: { signal?: AbortSignal; }): Promise; open(botRef: string, options?: { signal?: AbortSignal; }): Promise; refresh(botRef: string, options?: { signal?: AbortSignal; }): Promise; /** Calendar/background reads must never enter Subject's ensure/open endpoint. */ readHistory(botRef: string, options?: { signal?: AbortSignal; }): Promise; send(botRef: string, content: string, options?: { signal?: AbortSignal; }): Promise; markRead(botRef: string, sequence: number, options?: { signal?: AbortSignal; }): Promise; notificationPreference(botRef: string, options?: { signal?: AbortSignal; }): Promise; updateNotificationPreference(botRef: string, muted: boolean, options?: { signal?: AbortSignal; }): Promise; private context; private adapter; } export {}; //# sourceMappingURL=bot-conversation-service.d.ts.map