import * as ajv from 'ajv'; import { z } from 'zod'; import { PromptTemplate } from '../../../template.js'; import { AnyTool } from '../../../tools/base.js'; import '../../../errors.js'; import '../../../internals/types.js'; import '../../../internals/helpers/guards.js'; import '../../../internals/serializable.js'; import '../../../context.js'; import '../../../emitter-l0W9gC1A.js'; import '../../../internals/helpers/promise.js'; import 'promise-based-task'; import '../../../cache/base.js'; import '../../../internals/helpers/schema.js'; import 'zod-to-json-schema'; declare function createRePlanOutputSchema(tools: T[]): Promise<{ definition: z.ZodObject<{ information: z.ZodRecord; lookback: z.ZodString; plan: z.ZodArray, "many">; nextStep: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"message">; message: z.ZodString; }, "strip", z.ZodTypeAny, { message: string; type: "message"; }, { message: string; type: "message"; }>, ...z.ZodObject<{ type: z.ZodLiteral<"tool">; calls: z.ZodArray; input: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { name: string; input: {} & { [k: string]: unknown; }; }, { name: string; input: {} & { [k: string]: unknown; }; }>, ...z.ZodObject<{ name: z.ZodLiteral; input: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { name: string; input: {} & { [k: string]: unknown; }; }, { name: string; input: {} & { [k: string]: unknown; }; }>[]]>, "many">; }, "strip", z.ZodTypeAny, { type: "tool"; calls: { name: string; input: {} & { [k: string]: unknown; }; }[]; }, { type: "tool"; calls: { name: string; input: {} & { [k: string]: unknown; }; }[]; }>[]]>; }, "strip", z.ZodTypeAny, { information: Record; lookback: string; plan: { title: string; decision: string; research: boolean; computation: boolean; }[]; nextStep: { message: string; type: "message"; } | { type: "tool"; calls: { name: string; input: {} & { [k: string]: unknown; }; }[]; }; }, { information: Record; lookback: string; plan: { title: string; decision: string; research: boolean; computation: boolean; }[]; nextStep: { message: string; type: "message"; } | { type: "tool"; calls: { name: string; input: {} & { [k: string]: unknown; }; }[]; }; }>; json: ajv.SchemaObject; }>; type RePlanState = z.output>["definition"]>; declare const RePlanSystemPrompt: PromptTemplate>; declare const RePlanAssistantPrompt: PromptTemplate>; export { RePlanAssistantPrompt, type RePlanState, RePlanSystemPrompt, createRePlanOutputSchema };