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';
export type GroupMentionMode = 'always' | 'topic' | 'never';
/**
 * 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 answered too (where the bot has talk access).
 */
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