import type { ToolConfig } from '../tool-provider-factory'; import { z } from 'zod'; declare const baseQuerySchema: z.ZodObject<{ 'ai-name': z.ZodOptional; 'tool-name': z.ZodOptional; }, z.core.$strip>; declare const aiQuerySchema: z.ZodObject<{ route: z.ZodLiteral<"ai-query">; query: z.ZodOptional; 'tool-name': z.ZodOptional; }, z.core.$strip>>; body: z.ZodObject<{ messages: z.ZodArray; tools: z.ZodOptional>; tool_choice: z.ZodOptional; parallel_tool_calls: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>; /** * Route: invoke-remote-tool * * Note: inputs uses z.any() because it can be either: * - An array of messages (for regular remote tools) * - An object of arguments (for MCP tools) * Validation happens downstream in the tool implementation. */ declare const invokeRemoteToolSchema: z.ZodObject<{ route: z.ZodLiteral<"invoke-remote-tool">; query: z.ZodObject<{ 'ai-name': z.ZodOptional; 'tool-name': z.ZodString; 'source-id': z.ZodOptional; }, z.core.$strip>; body: z.ZodObject<{ inputs: z.ZodAny; }, z.core.$strip>; }, z.core.$strip>; declare const remoteToolsSchema: z.ZodObject<{ route: z.ZodLiteral<"remote-tools">; query: z.ZodOptional; 'tool-name': z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; export declare const routeArgsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ route: z.ZodLiteral<"ai-query">; query: z.ZodOptional; 'tool-name': z.ZodOptional; }, z.core.$strip>>; body: z.ZodObject<{ messages: z.ZodArray; tools: z.ZodOptional>; tool_choice: z.ZodOptional; parallel_tool_calls: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ route: z.ZodLiteral<"invoke-remote-tool">; query: z.ZodObject<{ 'ai-name': z.ZodOptional; 'tool-name': z.ZodString; 'source-id': z.ZodOptional; }, z.core.$strip>; body: z.ZodObject<{ inputs: z.ZodAny; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ route: z.ZodLiteral<"remote-tools">; query: z.ZodOptional; 'tool-name': z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>], "route">; export type RouteArgs = z.infer; export type AiQueryArgs = z.infer; export type InvokeRemoteToolArgs = z.infer; export type RemoteToolsArgs = z.infer; export type DispatchBody = AiQueryArgs['body']; export type RouterRouteArgs = RouteArgs & { toolConfigs?: Record; }; export type InvokeRemoteToolBody = InvokeRemoteToolArgs['body']; export type Body = DispatchBody | InvokeRemoteToolBody | undefined; export type Query = z.infer; export {}; //# sourceMappingURL=route.d.ts.map