import type { AgentEvent, AgentTool } from "@clinebot/shared"; import { type ToolExecutors } from "../../../extensions/tools"; import type { CoreSessionConfig } from "../../../types/config"; import type { ActiveSession } from "../../../types/session"; export type SubAgentStartTracker = Map; export interface SpawnToolDeps { getSession(sessionId: string): ActiveSession | undefined; subAgentStarts: SubAgentStartTracker; onAgentEvent(rootSessionId: string, config: CoreSessionConfig, event: AgentEvent): void; invokeBackendOptional(method: string, ...args: unknown[]): Promise; } export declare function createSessionSpawnTool(deps: SpawnToolDeps, config: CoreSessionConfig, rootSessionId: string, toolExecutors?: Partial): AgentTool;