import { type ChatReplyMode } from '../bot-registry.js';
export interface BotCardPrefs {
    disableStreamingCard: boolean;
    writableTerminalLinkInCard: boolean;
    privateCard: boolean;
    /** 主动开工 — 场景①: auto-start when added to a new chat (see auto-start.ts). */
    autoStartOnGroupJoin: boolean;
    /** 主动开工 — 场景① optional pre-configured first-turn prompt ('' = none). */
    autoStartOnGroupJoinPrompt: string;
    /** 主动开工 — 场景②: auto-start on every new topic in a topic group. */
    autoStartOnNewTopic: boolean;
    /** Per-bot DEFAULT regular-group session mode (chat | new-topic | shared). */
    regularGroupReplyMode: ChatReplyMode;
    /** Per-bot 3-tier @-requirement policy for regular groups (default 'always'). */
    regularGroupMentionMode: 'always' | 'topic' | 'never';
    /** 文档订阅新订阅默认评论触发范围（default 'mention-only'）。 */
    docSubscribeDefaultMode: 'mention-only' | 'all';
}
/** Current card prefs for a bot (booleans default false, prompt defaults '' when unset). */
export declare function getBotCardPrefs(larkAppId: string): BotCardPrefs;
/**
 * Persist a partial card-prefs change. Only the keys present in `patch` are
 * touched; a `false` value removes the key (keeps bots.json tidy — absent means
 * the default). Returns the full resolved prefs after the write.
 */
export declare function updateBotCardPrefs(larkAppId: string, patch: Partial<BotCardPrefs>): Promise<{
    ok: true;
    prefs: BotCardPrefs;
} | {
    ok: false;
    reason: string;
}>;
//# sourceMappingURL=card-prefs-store.d.ts.map