import { type LanguageModel, type TimeoutConfiguration, type Tool, type ToolSet } from 'ai'; import { z } from 'zod'; import type { AgentDefinition } from './agents-loader.ts'; export type AgentToolSpec = Pick; export type AgentToolOptions = { model: LanguageModel; tools: ToolSet; allowedTools: readonly string[]; maxSteps?: number; maxDepth?: number; maxOutputChars?: number; timeout?: TimeoutConfiguration; onUsage?: (usage: import('ai').LanguageModelUsage, modelId: string | undefined, providerMetadata?: import('ai').ProviderMetadata) => void; }; export declare const DEFAULT_AGENT_TOOL_MAX_STEPS = 15; export declare const DEFAULT_AGENT_TOOL_MAX_OUTPUT_CHARS = 4000; export declare const AGENT_TOOL_TRUNCATION_MARKER = "\n\n[output truncated]"; export declare const AGENT_TOOL_NO_CONCLUSION = "(no conclusion: the survey ended without a final answer)"; export declare const AGENT_TOOL_ERROR_PREFIX = "survey failed: "; export declare const DEFAULT_AGENT_TOOL_MAX_DEPTH = 1; export declare const AGENT_TOOL_DEPTH_EXCEEDED_PREFIX = "survey refused: subagent depth cap reached"; export declare class AgentToolConstructionError extends Error { readonly name = "AgentToolConstructionError"; } declare const agentToolInputSchema: z.ZodObject<{ prompt: z.ZodString; }, z.core.$strip>; export type AgentToolInput = z.infer; export declare function makeAgentTool(spec: AgentToolSpec, opts: AgentToolOptions): Tool; export {};