import { executeSubagent } from './spawn-agent-utils';
import type { LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
import type { AgentTemplate } from '@levelcode/common/types/agent-template';
import type { Logger } from '@levelcode/common/types/contracts/logger';
import type { ParamsExcluding } from '@levelcode/common/types/function-params';
import type { PrintModeEvent } from '@levelcode/common/types/print-mode';
import type { AgentState } from '@levelcode/common/types/session-state';
import type { ProjectFileContext } from '@levelcode/common/util/file';
import type { ToolSet } from 'ai';
type ToolName = 'spawn_agent_inline';
export declare const handleSpawnAgentInline: (params: {
    previousToolCallFinished: Promise<void>;
    toolCall: LevelCodeToolCall<ToolName>;
    agentState: AgentState;
    agentTemplate: AgentTemplate;
    clientSessionId: string;
    fileContext: ProjectFileContext;
    fingerprintId: string;
    localAgentTemplates: Record<string, AgentTemplate>;
    logger: Logger;
    system: string;
    tools: ToolSet;
    userId: string | undefined;
    userInputId: string;
    writeToClient: (chunk: string | PrintModeEvent) => void;
} & ParamsExcluding<typeof executeSubagent, "userInputId" | "prompt" | "spawnParams" | "agentTemplate" | "parentAgentState" | "agentState" | "parentSystemPrompt" | "parentTools" | "onResponseChunk" | "clearUserPromptMessagesAfterResponse" | "fingerprintId">) => Promise<{
    output: LevelCodeToolOutput<ToolName>;
}>;
export {};
