import { type ChatReplyMode } from '../bot-registry.js'; export type { ChatReplyMode } from '../bot-registry.js'; export declare function normalizeChatReplyMode(raw: string | undefined): ChatReplyMode | undefined; /** Short command-word label for status / confirmation messages. */ export declare function replyModeLabel(mode: ChatReplyMode): 'chat' | 'topic' | 'new-topic' | 'chat-topic'; export type GroupMentionMode = 'always' | 'topic' | 'never' | 'ambient'; /** * Per-bot (bot-global) @-requirement policy for regular groups, default 'always'. * • always — @ required everywhere (incl. inside shared topics). * • topic — @ required at top level, but non-@ continues inside shared topics. * • never — non-@ messages are always answered (where the bot has talk access). * • ambient — like never, but stays quiet when the message @mentions another * specific member (person/bot) without @ing this bot (redirect). */ export declare function resolveGroupMentionMode(larkAppId: string): GroupMentionMode; /** * Effective regular-group reply mode for a chat — the SINGLE source of truth for * routing. Per-chat override first, then the per-bot default. Both the * `regularGroupRouting` (new-topic) and `maybeApplySharedTopicSeed` (shared) * code paths read this, so they are mutually exclusive by construction. */ export declare function resolveRegularGroupMode(larkAppId: string, chatId: string | undefined): ChatReplyMode; export declare function setChatReplyMode(larkAppId: string, chatId: string, mode: ChatReplyMode): Promise<{ ok: true; mode: ChatReplyMode; } | { ok: false; reason: string; }>; //# sourceMappingURL=chat-reply-mode-store.d.ts.map