/**
 * Subagent Delegation Extension for Spectral
 *
 * Registers a `subagent` tool that allows the coding agent to delegate tasks
 * to specialized sub-agents running in-process via `agentLoop()`.
 *
 * Each subagent invocation runs with its own fresh AgentContext (isolated
 * context window), keeping the main conversation lean and focused.
 *
 * Three execution modes:
 *   - Single:   { agent: "name", task: "..." }
 *   - Parallel: { tasks: [{ agent, task }, ...] }  (max 8, 4 concurrent)
 *   - Chain:    { chain: [{ agent, task: "... {previous} ..." }, ...] }
 *
 * Agent definitions live as markdown files with YAML frontmatter:
 *   - ~/.spectral/agent/agents/*.md    (user-level, always loaded)
 *   - .spectral/agents/*.md            (project-level, opt-in via agentScope)
 *
 * Subagents use an in-process `agentLoop()` for:
 *   - Clean context isolation (fresh messages array)
 *   - Combined system prompt (main agent + subagent-specific instructions)
 *   - Tool filtering (only the tools specified in agent config)
 *   - Model selection (session model preferred, agent-configured as fallback)
 *   - Signal propagation (abort passthrough)
 *   - Access to observational memory via the recall tool
 */
import { type ExtensionAPI } from "../sdk/coding-agent/index.js";
export default function subagentExtension(ext: ExtensionAPI): void;
//# sourceMappingURL=index.d.ts.map