import type { PluginInput } from "@opencode-ai/plugin"; import { tool } from "@opencode-ai/plugin"; import { ProviderResilience } from "../shared"; import { type ConcurrencyPool } from "../concurrency"; import type { CategoryConfig } from "../categories"; import type { PluginConfig } from "../config"; export interface SpawnAgentDeps { pool?: ConcurrencyPool; categories?: Record; resolveAgentModel?: (agent: string) => string | undefined; /** Provider-level retry/backoff + circuit breaker */ resilience?: ProviderResilience; /** Max total concurrent spawned sessions (default: 15) */ maxTotalSpawned?: number; /** Per-agent timeout in ms (default: 180000 = 3min) */ agentTimeoutMs?: number; /** Reference to internalSessions for spawn limit check */ internalSessions?: Set; /** MAS knowledge persistence settings */ masKnowledgeConfig?: PluginConfig["mas_knowledge"]; } export declare function createSpawnAgentTool(ctx: PluginInput, internalSessions: Set, deps?: SpawnAgentDeps): ReturnType;