import { type ChatReplyMode, type UsageDisplayMode } from '../bot-registry.js'; export interface BotCardPrefs { /** Where to show native Context / Token usage: * 'streaming' (default) = live streaming card body, 'footer' = ordinary * reply-card footer, 'off' = nowhere. */ usageDisplay: UsageDisplayMode; disableStreamingCard: boolean; silentTurnReactions: boolean; /** Experimental Codex App presentation mode. Default false preserves the * legacy full-prompt UserMessage; true moves Botmux metadata to hidden * app-server context for newly dispatched turns. */ codexAppCleanInput: boolean; writableTerminalLinkInCard: boolean; privateCard: boolean; /** When true, this bot's daemon watches host load/mem and DMs the owner on * overload enter/recover edges. Machine-wide signal, so designate one bot; * a shared episode lock de-dups if several have it on. Default false. */ overloadAlert: boolean; /** bot@bot 同目录拉起: when a bot is @-ed into a chat where a sibling bot is * already working, inherit that sibling's workingDir & skip the repo card. * Default TRUE (unlike the others) — only an explicit false is persisted. */ botToBotSameDir: 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 | chat-topic | new-topic | shared). */ regularGroupReplyMode: ChatReplyMode; /** Per-bot 4-tier @-requirement policy for regular groups (default 'always'). */ regularGroupMentionMode: 'always' | 'topic' | 'never' | 'ambient'; /** 文档订阅新订阅默认评论触发范围(default 'mention-only')。 */ docSubscribeDefaultMode: 'mention-only' | 'all'; /** Explicit /summary records a project-local summary.md when enabled. */ summaryMemory: boolean; /** Target path for summary memory. Relative paths resolve against the current project root. */ summaryMemoryPath: string; } /** Current card prefs for a bot (`usageDisplay` defaults to 'streaming'; * `botToBotSameDir` defaults true; other booleans default false). */ 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): Promise<{ ok: true; prefs: BotCardPrefs; } | { ok: false; reason: string; }>; //# sourceMappingURL=card-prefs-store.d.ts.map