import type { MAMAConfig } from '../cli/config/types.js'; export declare const SETUP_ACTION_PROTOCOL = "## MAMA Setup Host Actions\n\nYou do not have native setup/file tools. To perform a setup mutation, emit exactly one or more\nJSON actions wrapped in tags. The host validates and executes them, then sends\ntrusted results back in the same session. Never claim success before receiving a successful result.\n\nExamples:\n{\"type\":\"update_config\",\"key\":\"discord.enabled\",\"value\":true}\n{\"type\":\"validate_discord_token\",\"token\":\"...\"}\n{\"type\":\"write_file\",\"name\":\"USER.md\",\"content\":\"# USER.md...\"}\n{\"type\":\"mark_setup_complete\"}\n\nSupported action schemas:\n- update_config: {\"type\":\"update_config\",\"key\":,\"value\":}\n- validate_discord_token: {\"type\":\"validate_discord_token\",\"token\":\"...\"}\n- write_file: {\"type\":\"write_file\",\"name\":\"IDENTITY.md|USER.md|SOUL.md|personas/.md\",\"content\":\"...\"}\n- save_integration_token:\n - Discord: {\"type\":\"save_integration_token\",\"platform\":\"discord\",\"token\":\"...\"}\n - Slack: {\"type\":\"save_integration_token\",\"platform\":\"slack\",\"bot_token\":\"xoxb-...\",\"app_token\":\"xapp-...\"}\n - Telegram: {\"type\":\"save_integration_token\",\"platform\":\"telegram\",\"token\":\"...\",\"allowed_chats\":[\"123\"]}\n - Agent team: {\"type\":\"save_integration_token\",\"platform\":\"multi_agent\",\"enabled\":true}\n- present_discovery_summary, present_security_warning, demonstrate_capability: {\"type\":\"\", ...}\n- complete_onboarding: {\"type\":\"complete_onboarding\",\"confirmed\":true}\n- mark_setup_complete: {\"type\":\"mark_setup_complete\"}\n\nAllowed update_config keys: discord.enabled, discord.default_channel_id,\nslack.enabled, telegram.allowed_chats,\ntelegram.enabled, multi_agent.dangerouslySkipPermissions,\nmulti_agent.enabled. Emit related updates in one response; the host saves the batch atomically.\n\nwrite_file accepts IDENTITY.md, USER.md, SOUL.md, or personas/.md. Every path is resolved by\nthe host under ~/.mama; never use the process working directory. Tokens inside action tags are\nremoved from browser-visible output."; export interface ParsedSetupActions { visibleText: string; actions: Array>; } export interface SetupActionResult { type: string; ok: boolean; data?: Record; error?: string; } export interface SetupActionExecutor { execute(action: Record): Promise; executeBatch(actions: Array>): Promise; } export interface SetupActionExecutorOptions { loadConfig?: () => MAMAConfig; persistConfig?: (config: MAMAConfig) => Promise; mamaHome?: string; fetchImpl?: typeof fetch; now?: () => Date; } export declare function parseSetupActions(text: string): ParsedSetupActions; export declare function createSetupActionExecutor(options?: SetupActionExecutorOptions): SetupActionExecutor; //# sourceMappingURL=setup-actions.d.ts.map