/**
 * Sub-agent definitions for Claude Agent SDK.
 * Each sub-agent runs in an isolated context window, collecting domain-specific
 * evidence without polluting the orchestrator's context.
 *
 * Design principle: sub-agents collect evidence, orchestrator makes final diagnosis.
 * Only injected when CLAUDE_ENABLE_SUB_AGENTS=true (feature flag).
 *
 * v5: Fixed model IDs, scene-based gating, adjusted maxTurns,
 *     added fetch_artifact to SUB_AGENT_TOOLS.
 */
import type { AgentDefinition } from '@anthropic-ai/claude-agent-sdk';
import type { SceneType } from './sceneClassifier';
import type { ArchitectureInfo } from '../agent/detectors/types';
/** Context injected dynamically into sub-agent prompts at runtime. */
export interface SubAgentContext {
    architecture?: ArchitectureInfo;
    packageName?: string;
    /** Full allowedTools from createClaudeMcpServer — sub-agent tools are derived from this. */
    allowedTools?: string[];
    /** Override sub-agent model shorthand. Defaults to 'sonnet'.
     *  Accepted values: 'haiku' | 'sonnet' | 'opus' | 'inherit' (inherit from orchestrator).
     *  When using a third-party proxy, the proxy maps these shorthands to actual model names. */
    subAgentModel?: AgentDefinition['model'];
}
/**
 * Build agent definitions based on scene type and runtime context.
 * Injects architecture/packageName into sub-agent prompts dynamically.
 *
 * **Parallelism note**: The SDK `agents` option accepts multiple definitions,
 * but whether they run in parallel or serially depends on the SDK's internal
 * orchestration. As of claude-agent-sdk 0.x, the SDK decides execution order
 * based on the orchestrator model's tool calls. We design prompts assuming
 * parallel evidence collection, but actual behavior should be verified via
 * SDK logs when CLAUDE_ENABLE_SUB_AGENTS=true is enabled.
 *
 * Scene-based gating:
 * - scrolling: frame-expert + system-expert (parallel evidence collection)
 * - startup: startup-expert + system-expert (CPU freq/thermal/binder context for startup)
 * - anr: no sub-agents (2-skill pipeline, sub-agents add latency without benefit)
 * - general: frame-expert + system-expert
 */
export declare function buildAgentDefinitions(sceneType: SceneType, ctx?: SubAgentContext): Record<string, AgentDefinition>;
//# sourceMappingURL=claudeAgentDefinitions.d.ts.map