import { z } from "zod"; import type { AgentTool } from "@kenkaiiii/gg-agent"; import type { ThinkingLevel } from "@kenkaiiii/gg-ai"; import { type AgentDefinition } from "../core/agents.js"; import { type SubAgentTokenUsage } from "./subagent-shared.js"; declare const SubAgentParams: z.ZodObject<{ task: z.ZodString; agent: z.ZodOptional; checks: z.ZodOptional; target: z.ZodString; }, z.core.$strip>>>; }, z.core.$strip>; export interface SubAgentUpdate { toolUseCount: number; tokenUsage: SubAgentTokenUsage; currentActivity?: string; } export interface SubAgentDetails { toolUseCount: number; tokenUsage: SubAgentTokenUsage; durationMs: number; } /** * The `subagent` tool description. When `spawn_agent` is also active it * already carries the full roster, so repeating it here only adds ~1k chars * to every request; point at it instead. */ export declare function subAgentDescription(agents: readonly AgentDefinition[], rosterOnSpawnAgent: boolean): string; export declare function createSubAgentTool(cwd: string, agents: AgentDefinition[], getParentProvider: () => string, getParentModel: () => string, getParentCacheKey?: () => string | undefined, planModeRef?: { current: boolean; }, getParentThinkingLevel?: () => ThinkingLevel | undefined): AgentTool; export {};