import { type AgentEvent, type AgentTool, type AgentToolContext, type HookErrorMode, type ToolApprovalRequest, type ToolApprovalResult, type ToolPolicy } from "@cline/shared"; import { z } from "zod"; import type { ConfiguredAgentConfig } from "./configured-agent-config"; import { type DelegatedAgentConfigProvider } from "./delegated-agent"; import type { SubAgentEndContext, SubAgentStartContext } from "./spawn-agent-tool"; declare const ConfiguredAgentInputSchema: z.ZodObject<{ prompt: z.ZodString; }, z.core.$strip>; export type ConfiguredAgentInput = z.infer; export interface ConfiguredAgentToolDescriptor { toolName: string; config: ConfiguredAgentConfig; } export interface ConfiguredAgentToolConfig { configProvider: DelegatedAgentConfigProvider; agents: ConfiguredAgentConfig[]; createSubAgentTools?: (agent: ConfiguredAgentConfig, input: ConfiguredAgentInput, context: AgentToolContext) => AgentTool[] | Promise; onSubAgentEvent?: (event: AgentEvent) => void; hookErrorMode?: HookErrorMode; toolPolicies?: Record; requestToolApproval?: (request: ToolApprovalRequest) => Promise | ToolApprovalResult; onSubAgentStart?: (context: SubAgentStartContext) => void | Promise; onSubAgentEnd?: (context: SubAgentEndContext) => void | Promise; } export declare function buildConfiguredAgentToolName(agentName: string): string; export declare function buildConfiguredAgentToolDescriptors(agents: readonly ConfiguredAgentConfig[]): ConfiguredAgentToolDescriptor[]; export declare function createConfiguredAgentTools(options: ConfiguredAgentToolConfig): AgentTool[]; export {};